@churchapps/content-provider-helper 0.0.2 → 0.0.3
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.
- package/dist/index.cjs +1239 -1599
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +340 -95
- package/dist/index.d.ts +340 -95
- package/dist/index.js +1228 -1599
- package/dist/index.js.map +1 -1
- package/package.json +9 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interfaces.ts","../src/utils.ts","../src/FormatConverters.ts","../src/FormatResolver.ts","../src/ContentProvider.ts","../src/providers/APlayProvider.ts","../src/providers/SignPresenterProvider.ts","../src/providers/LessonsChurchProvider.ts","../src/providers/b1church/auth.ts","../src/providers/b1church/api.ts","../src/providers/b1church/converters.ts","../src/providers/b1church/B1ChurchProvider.ts","../src/providers/PlanningCenterProvider.ts","../src/providers/bibleproject/data.json","../src/providers/bibleproject/BibleProjectProvider.ts","../src/providers/highvoltage/data.json","../src/providers/HighVoltageKidsProvider.ts","../src/providers/index.ts","../src/index.ts"],"sourcesContent":["export interface ContentProviderAuthData {\r\n access_token: string;\r\n refresh_token: string;\r\n token_type: string;\r\n created_at: number;\r\n expires_in: number;\r\n scope: string;\r\n}\r\n\r\nexport interface ContentProviderConfig {\r\n id: string;\r\n name: string;\r\n apiBase: string;\r\n oauthBase: string;\r\n clientId: string;\r\n scopes: string[];\r\n supportsDeviceFlow?: boolean;\r\n deviceAuthEndpoint?: string;\r\n endpoints: Record<string, string | ((...args: string[]) => string)>;\r\n}\r\n\r\nexport interface DeviceAuthorizationResponse {\r\n device_code: string;\r\n user_code: string;\r\n verification_uri: string;\r\n verification_uri_complete?: string;\r\n expires_in: number;\r\n interval?: number;\r\n}\r\n\r\nexport interface DeviceFlowState {\r\n status: 'loading' | 'awaiting_user' | 'polling' | 'success' | 'error' | 'expired';\r\n deviceAuth?: DeviceAuthorizationResponse;\r\n error?: string;\r\n pollCount?: number;\r\n}\r\n\r\nexport type AuthType = 'none' | 'oauth_pkce' | 'device_flow' | 'form_login';\r\n\r\nexport interface ProviderLogos {\r\n light: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ProviderInfo {\r\n id: string;\r\n name: string;\r\n logos: ProviderLogos;\r\n implemented: boolean;\r\n requiresAuth: boolean;\r\n authTypes: AuthType[];\r\n capabilities: ProviderCapabilities;\r\n}\r\n\r\nexport interface ContentFolder {\r\n type: 'folder';\r\n id: string;\r\n title: string;\r\n image?: string;\r\n providerData?: Record<string, unknown>;\r\n}\r\n\r\nexport interface ContentFile {\r\n type: 'file';\r\n id: string;\r\n title: string;\r\n mediaType: 'video' | 'image';\r\n image?: string;\r\n url: string;\r\n embedUrl?: string;\r\n muxPlaybackId?: string;\r\n decryptionKey?: string;\r\n mediaId?: string;\r\n pingbackUrl?: string;\r\n providerData?: Record<string, unknown>;\r\n}\r\n\r\nexport type ContentItem = ContentFolder | ContentFile;\r\n\r\nexport function isContentFolder(item: ContentItem): item is ContentFolder {\r\n return item.type === 'folder';\r\n}\r\n\r\nexport function isContentFile(item: ContentItem): item is ContentFile {\r\n return item.type === 'file';\r\n}\r\n\r\nexport type DeviceFlowPollResult =\r\n | ContentProviderAuthData\r\n | { error: string; shouldSlowDown?: boolean }\r\n | null;\r\n\r\nexport interface PlanPresentation {\r\n id: string;\r\n name: string;\r\n actionType: 'play' | 'add-on' | 'other';\r\n files: ContentFile[];\r\n}\r\n\r\nexport interface PlanSection {\r\n id: string;\r\n name: string;\r\n presentations: PlanPresentation[];\r\n}\r\n\r\nexport interface Plan {\r\n id: string;\r\n name: string;\r\n description?: string;\r\n image?: string;\r\n sections: PlanSection[];\r\n allFiles: ContentFile[];\r\n}\r\n\r\nexport interface FeedFileInterface {\r\n id?: string;\r\n name?: string;\r\n url?: string;\r\n streamUrl?: string;\r\n seconds?: number;\r\n fileType?: string;\r\n}\r\n\r\nexport interface FeedActionInterface {\r\n id?: string;\r\n actionType?: string;\r\n content?: string;\r\n files?: FeedFileInterface[];\r\n}\r\n\r\nexport interface FeedSectionInterface {\r\n id?: string;\r\n name?: string;\r\n actions?: FeedActionInterface[];\r\n}\r\n\r\nexport interface FeedVenueInterface {\r\n id?: string;\r\n lessonId?: string;\r\n name?: string;\r\n lessonName?: string;\r\n lessonDescription?: string;\r\n lessonImage?: string;\r\n sections?: FeedSectionInterface[];\r\n}\r\n\r\nexport interface InstructionItem {\r\n id?: string;\r\n itemType?: string;\r\n relatedId?: string;\r\n label?: string;\r\n description?: string;\r\n seconds?: number;\r\n children?: InstructionItem[];\r\n embedUrl?: string;\r\n}\r\n\r\nexport interface Instructions {\r\n venueName?: string;\r\n items: InstructionItem[];\r\n}\r\n\r\nexport interface VenueActionInterface {\r\n id?: string;\r\n name?: string;\r\n actionType?: string;\r\n seconds?: number;\r\n}\r\n\r\nexport interface VenueSectionActionsInterface {\r\n id?: string;\r\n name?: string;\r\n actions?: VenueActionInterface[];\r\n}\r\n\r\nexport interface VenueActionsResponseInterface {\r\n venueName?: string;\r\n sections?: VenueSectionActionsInterface[];\r\n}\r\n\r\nexport interface ProviderCapabilities {\r\n browse: boolean;\r\n presentations: boolean;\r\n playlist: boolean;\r\n instructions: boolean;\r\n expandedInstructions: boolean;\r\n mediaLicensing: boolean;\r\n}\r\n\r\nexport type MediaLicenseStatus = 'valid' | 'expired' | 'not_licensed' | 'unknown';\r\n\r\nexport interface MediaLicenseResult {\r\n mediaId: string;\r\n status: MediaLicenseStatus;\r\n message?: string;\r\n expiresAt?: string | number;\r\n}\r\n","export function detectMediaType(url: string, explicitType?: string): 'video' | 'image' {\r\n if (explicitType === 'video') return 'video';\r\n const videoPatterns = ['.mp4', '.webm', '.m3u8', '.mov', 'stream.mux.com'];\r\n return videoPatterns.some(p => url.includes(p)) ? 'video' : 'image';\r\n}\r\n","import type { ContentFile, Plan, PlanSection, PlanPresentation, Instructions, InstructionItem } from './interfaces';\r\nimport { detectMediaType } from './utils';\r\n\r\nfunction generateId(): string {\r\n return 'gen-' + Math.random().toString(36).substring(2, 11);\r\n}\r\n\r\nfunction mapItemTypeToActionType(itemType?: string): 'play' | 'add-on' | 'other' {\r\n switch (itemType) {\r\n case 'action':\r\n case 'lessonAction':\r\n case 'providerPresentation':\r\n case 'play':\r\n return 'play';\r\n case 'addon':\r\n case 'add-on':\r\n case 'lessonAddOn':\r\n case 'providerFile':\r\n return 'add-on';\r\n default:\r\n return 'other';\r\n }\r\n}\r\n\r\nfunction mapActionTypeToItemType(actionType: 'play' | 'add-on' | 'other'): string {\r\n switch (actionType) {\r\n case 'play': return 'action';\r\n case 'add-on': return 'addon';\r\n default: return 'item';\r\n }\r\n}\r\n\r\n// LOSSLESS: All file data preserved, only hierarchy lost\r\nexport function presentationsToPlaylist(plan: Plan): ContentFile[] {\r\n if (plan.allFiles && plan.allFiles.length > 0) {\r\n return [...plan.allFiles];\r\n }\r\n\r\n const files: ContentFile[] = [];\r\n for (const section of plan.sections) {\r\n for (const presentation of section.presentations) {\r\n files.push(...presentation.files);\r\n }\r\n }\r\n return files;\r\n}\r\n\r\n// LOSSLESS: Structure maps directly\r\nexport function presentationsToInstructions(plan: Plan): Instructions {\r\n return {\r\n venueName: plan.name,\r\n items: plan.sections.map(section => ({\r\n id: section.id,\r\n itemType: 'section',\r\n label: section.name,\r\n children: section.presentations.map(pres => {\r\n const totalSeconds = pres.files.reduce(\r\n (sum, f) => sum + ((f.providerData?.seconds as number) || 0),\r\n 0\r\n );\r\n\r\n return {\r\n id: pres.id,\r\n itemType: mapActionTypeToItemType(pres.actionType),\r\n label: pres.name,\r\n seconds: totalSeconds || undefined,\r\n embedUrl: pres.files[0]?.embedUrl || pres.files[0]?.url\r\n };\r\n })\r\n }))\r\n };\r\n}\r\n\r\n// LOSSLESS: All hierarchy and file data preserved\r\nexport function presentationsToExpandedInstructions(plan: Plan): Instructions {\r\n return {\r\n venueName: plan.name,\r\n items: plan.sections.map(section => ({\r\n id: section.id,\r\n itemType: 'section',\r\n label: section.name,\r\n children: section.presentations.map(pres => ({\r\n id: pres.id,\r\n itemType: mapActionTypeToItemType(pres.actionType),\r\n label: pres.name,\r\n description: pres.actionType !== 'other' ? pres.actionType : undefined,\r\n seconds: pres.files.reduce(\r\n (sum, f) => sum + ((f.providerData?.seconds as number) || 0),\r\n 0\r\n ) || undefined,\r\n children: pres.files.map(f => ({\r\n id: f.id,\r\n itemType: 'file',\r\n label: f.title,\r\n seconds: (f.providerData?.seconds as number) || undefined,\r\n embedUrl: f.embedUrl || f.url\r\n }))\r\n }))\r\n }))\r\n };\r\n}\r\n\r\n// LOSSLESS for media: All items with embedUrl become files\r\nexport function instructionsToPlaylist(instructions: Instructions): ContentFile[] {\r\n const files: ContentFile[] = [];\r\n\r\n function extractFiles(items: InstructionItem[]) {\r\n for (const item of items) {\r\n if (item.embedUrl && (item.itemType === 'file' || !item.children?.length)) {\r\n files.push({\r\n type: 'file',\r\n id: item.id || item.relatedId || generateId(),\r\n title: item.label || 'Untitled',\r\n mediaType: detectMediaType(item.embedUrl),\r\n url: item.embedUrl,\r\n embedUrl: item.embedUrl,\r\n providerData: item.seconds ? { seconds: item.seconds } : undefined\r\n });\r\n }\r\n if (item.children) {\r\n extractFiles(item.children);\r\n }\r\n }\r\n }\r\n\r\n extractFiles(instructions.items);\r\n return files;\r\n}\r\n\r\nexport const expandedInstructionsToPlaylist = instructionsToPlaylist;\r\n\r\n// LOSSLESS when instructions have proper structure\r\nexport function instructionsToPresentations(\r\n instructions: Instructions,\r\n planId?: string\r\n): Plan {\r\n const allFiles: ContentFile[] = [];\r\n\r\n const sections: PlanSection[] = instructions.items\r\n .filter(item => item.children && item.children.length > 0)\r\n .map(sectionItem => {\r\n const presentations: PlanPresentation[] = (sectionItem.children || []).map(presItem => {\r\n const files: ContentFile[] = [];\r\n\r\n if (presItem.children && presItem.children.length > 0) {\r\n for (const child of presItem.children) {\r\n if (child.embedUrl) {\r\n const file: ContentFile = {\r\n type: 'file',\r\n id: child.id || child.relatedId || generateId(),\r\n title: child.label || 'Untitled',\r\n mediaType: detectMediaType(child.embedUrl),\r\n url: child.embedUrl,\r\n embedUrl: child.embedUrl,\r\n providerData: child.seconds ? { seconds: child.seconds } : undefined\r\n };\r\n allFiles.push(file);\r\n files.push(file);\r\n }\r\n }\r\n }\r\n\r\n if (files.length === 0 && presItem.embedUrl) {\r\n const file: ContentFile = {\r\n type: 'file',\r\n id: presItem.id || presItem.relatedId || generateId(),\r\n title: presItem.label || 'Untitled',\r\n mediaType: detectMediaType(presItem.embedUrl),\r\n url: presItem.embedUrl,\r\n embedUrl: presItem.embedUrl,\r\n providerData: presItem.seconds ? { seconds: presItem.seconds } : undefined\r\n };\r\n allFiles.push(file);\r\n files.push(file);\r\n }\r\n\r\n return {\r\n id: presItem.id || presItem.relatedId || generateId(),\r\n name: presItem.label || 'Presentation',\r\n actionType: mapItemTypeToActionType(presItem.itemType),\r\n files\r\n };\r\n });\r\n\r\n return {\r\n id: sectionItem.id || sectionItem.relatedId || generateId(),\r\n name: sectionItem.label || 'Section',\r\n presentations\r\n };\r\n });\r\n\r\n return {\r\n id: planId || generateId(),\r\n name: instructions.venueName || 'Plan',\r\n sections,\r\n allFiles\r\n };\r\n}\r\n\r\nexport const expandedInstructionsToPresentations = instructionsToPresentations;\r\n\r\n// LOSSY: Deep children collapsed, but structure preserved\r\nexport function collapseInstructions(instructions: Instructions, maxDepth: number = 2): Instructions {\r\n function collapseItem(item: InstructionItem, currentDepth: number): InstructionItem {\r\n if (currentDepth >= maxDepth || !item.children || item.children.length === 0) {\r\n const { children, ...rest } = item;\r\n if (children && children.length > 0) {\r\n const totalSeconds = children.reduce((sum, c) => sum + (c.seconds || 0), 0);\r\n if (totalSeconds > 0) {\r\n rest.seconds = totalSeconds;\r\n }\r\n if (!rest.embedUrl) {\r\n const firstWithUrl = children.find(c => c.embedUrl);\r\n if (firstWithUrl) {\r\n rest.embedUrl = firstWithUrl.embedUrl;\r\n }\r\n }\r\n }\r\n return rest;\r\n }\r\n\r\n return {\r\n ...item,\r\n children: item.children.map(child => collapseItem(child, currentDepth + 1))\r\n };\r\n }\r\n\r\n return {\r\n venueName: instructions.venueName,\r\n items: instructions.items.map(item => collapseItem(item, 0))\r\n };\r\n}\r\n\r\n// LOSSY: No structural information - all files in one section\r\nexport function playlistToPresentations(\r\n files: ContentFile[],\r\n planName: string = 'Playlist',\r\n sectionName: string = 'Content'\r\n): Plan {\r\n const presentations: PlanPresentation[] = files.map((file, index) => ({\r\n id: `pres-${index}-${file.id}`,\r\n name: file.title,\r\n actionType: 'play' as const,\r\n files: [file]\r\n }));\r\n\r\n return {\r\n id: 'playlist-plan-' + generateId(),\r\n name: planName,\r\n sections: [{\r\n id: 'main-section',\r\n name: sectionName,\r\n presentations\r\n }],\r\n allFiles: [...files]\r\n };\r\n}\r\n\r\n// LOSSY: Minimal structure - just file references in a single section\r\nexport function playlistToInstructions(\r\n files: ContentFile[],\r\n venueName: string = 'Playlist'\r\n): Instructions {\r\n return {\r\n venueName,\r\n items: [{\r\n id: 'main-section',\r\n itemType: 'section',\r\n label: 'Content',\r\n children: files.map((file, index) => ({\r\n id: file.id || `item-${index}`,\r\n itemType: 'file',\r\n label: file.title,\r\n seconds: (file.providerData?.seconds as number) || undefined,\r\n embedUrl: file.embedUrl || file.url\r\n }))\r\n }]\r\n };\r\n}\r\n\r\nexport const playlistToExpandedInstructions = playlistToInstructions;\r\n","import type { ContentProvider } from './ContentProvider';\r\nimport type { ContentFile, ContentFolder, ContentProviderAuthData, Plan, Instructions } from './interfaces';\r\nimport * as Converters from './FormatConverters';\r\n\r\nexport interface FormatResolverOptions {\r\n allowLossy?: boolean;\r\n}\r\n\r\nexport interface ResolvedFormatMeta {\r\n isNative: boolean;\r\n sourceFormat?: 'playlist' | 'presentations' | 'instructions' | 'expandedInstructions';\r\n isLossy: boolean;\r\n}\r\n\r\nexport class FormatResolver {\r\n private provider: ContentProvider;\r\n private options: Required<FormatResolverOptions>;\r\n\r\n constructor(provider: ContentProvider, options: FormatResolverOptions = {}) {\r\n this.provider = provider;\r\n this.options = {\r\n allowLossy: options.allowLossy ?? true\r\n };\r\n }\r\n\r\n getProvider(): ContentProvider {\r\n return this.provider;\r\n }\r\n\r\n async getPlaylist(\r\n folder: ContentFolder,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<ContentFile[] | null> {\r\n const caps = this.provider.getCapabilities();\r\n\r\n if (caps.playlist) {\r\n const result = await this.provider.getPlaylist(folder, auth);\r\n if (result && result.length > 0) return result;\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(folder, auth);\r\n if (plan) return Converters.presentationsToPlaylist(plan);\r\n }\r\n\r\n if (caps.expandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(folder, auth);\r\n if (expanded) return Converters.instructionsToPlaylist(expanded);\r\n }\r\n\r\n if (this.options.allowLossy && caps.instructions) {\r\n const instructions = await this.provider.getInstructions(folder, auth);\r\n if (instructions) return Converters.instructionsToPlaylist(instructions);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getPlaylistWithMeta(\r\n folder: ContentFolder,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<{ data: ContentFile[] | null; meta: ResolvedFormatMeta }> {\r\n const caps = this.provider.getCapabilities();\r\n\r\n if (caps.playlist) {\r\n const result = await this.provider.getPlaylist(folder, auth);\r\n if (result && result.length > 0) {\r\n return { data: result, meta: { isNative: true, isLossy: false } };\r\n }\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(folder, auth);\r\n if (plan) {\r\n return {\r\n data: Converters.presentationsToPlaylist(plan),\r\n meta: { isNative: false, sourceFormat: 'presentations', isLossy: false }\r\n };\r\n }\r\n }\r\n\r\n if (caps.expandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(folder, auth);\r\n if (expanded) {\r\n return {\r\n data: Converters.instructionsToPlaylist(expanded),\r\n meta: { isNative: false, sourceFormat: 'expandedInstructions', isLossy: false }\r\n };\r\n }\r\n }\r\n\r\n if (this.options.allowLossy && caps.instructions) {\r\n const instructions = await this.provider.getInstructions(folder, auth);\r\n if (instructions) {\r\n return {\r\n data: Converters.instructionsToPlaylist(instructions),\r\n meta: { isNative: false, sourceFormat: 'instructions', isLossy: true }\r\n };\r\n }\r\n }\r\n\r\n return { data: null, meta: { isNative: false, isLossy: false } };\r\n }\r\n\r\n async getPresentations(\r\n folder: ContentFolder,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<Plan | null> {\r\n const caps = this.provider.getCapabilities();\r\n\r\n if (caps.presentations) {\r\n const result = await this.provider.getPresentations(folder, auth);\r\n if (result) return result;\r\n }\r\n\r\n if (caps.expandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(folder, auth);\r\n if (expanded) return Converters.instructionsToPresentations(expanded, folder.id);\r\n }\r\n\r\n if (caps.instructions) {\r\n const instructions = await this.provider.getInstructions(folder, auth);\r\n if (instructions) return Converters.instructionsToPresentations(instructions, folder.id);\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist) {\r\n const playlist = await this.provider.getPlaylist(folder, auth);\r\n if (playlist && playlist.length > 0) {\r\n return Converters.playlistToPresentations(playlist, folder.title);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getPresentationsWithMeta(\r\n folder: ContentFolder,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<{ data: Plan | null; meta: ResolvedFormatMeta }> {\r\n const caps = this.provider.getCapabilities();\r\n\r\n if (caps.presentations) {\r\n const result = await this.provider.getPresentations(folder, auth);\r\n if (result) {\r\n return { data: result, meta: { isNative: true, isLossy: false } };\r\n }\r\n }\r\n\r\n if (caps.expandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(folder, auth);\r\n if (expanded) {\r\n return {\r\n data: Converters.instructionsToPresentations(expanded, folder.id),\r\n meta: { isNative: false, sourceFormat: 'expandedInstructions', isLossy: false }\r\n };\r\n }\r\n }\r\n\r\n if (caps.instructions) {\r\n const instructions = await this.provider.getInstructions(folder, auth);\r\n if (instructions) {\r\n return {\r\n data: Converters.instructionsToPresentations(instructions, folder.id),\r\n meta: { isNative: false, sourceFormat: 'instructions', isLossy: true }\r\n };\r\n }\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist) {\r\n const playlist = await this.provider.getPlaylist(folder, auth);\r\n if (playlist && playlist.length > 0) {\r\n return {\r\n data: Converters.playlistToPresentations(playlist, folder.title),\r\n meta: { isNative: false, sourceFormat: 'playlist', isLossy: true }\r\n };\r\n }\r\n }\r\n\r\n return { data: null, meta: { isNative: false, isLossy: false } };\r\n }\r\n\r\n async getInstructions(\r\n folder: ContentFolder,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<Instructions | null> {\r\n const caps = this.provider.getCapabilities();\r\n\r\n if (caps.instructions) {\r\n const result = await this.provider.getInstructions(folder, auth);\r\n if (result) return result;\r\n }\r\n\r\n if (caps.expandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(folder, auth);\r\n if (expanded) return Converters.collapseInstructions(expanded);\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(folder, auth);\r\n if (plan) return Converters.presentationsToInstructions(plan);\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist) {\r\n const playlist = await this.provider.getPlaylist(folder, auth);\r\n if (playlist && playlist.length > 0) {\r\n return Converters.playlistToInstructions(playlist, folder.title);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getInstructionsWithMeta(\r\n folder: ContentFolder,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<{ data: Instructions | null; meta: ResolvedFormatMeta }> {\r\n const caps = this.provider.getCapabilities();\r\n\r\n if (caps.instructions) {\r\n const result = await this.provider.getInstructions(folder, auth);\r\n if (result) {\r\n return { data: result, meta: { isNative: true, isLossy: false } };\r\n }\r\n }\r\n\r\n if (caps.expandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(folder, auth);\r\n if (expanded) {\r\n return {\r\n data: Converters.collapseInstructions(expanded),\r\n meta: { isNative: false, sourceFormat: 'expandedInstructions', isLossy: true }\r\n };\r\n }\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(folder, auth);\r\n if (plan) {\r\n return {\r\n data: Converters.presentationsToInstructions(plan),\r\n meta: { isNative: false, sourceFormat: 'presentations', isLossy: false }\r\n };\r\n }\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist) {\r\n const playlist = await this.provider.getPlaylist(folder, auth);\r\n if (playlist && playlist.length > 0) {\r\n return {\r\n data: Converters.playlistToInstructions(playlist, folder.title),\r\n meta: { isNative: false, sourceFormat: 'playlist', isLossy: true }\r\n };\r\n }\r\n }\r\n\r\n return { data: null, meta: { isNative: false, isLossy: false } };\r\n }\r\n\r\n async getExpandedInstructions(\r\n folder: ContentFolder,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<Instructions | null> {\r\n const caps = this.provider.getCapabilities();\r\n\r\n if (caps.expandedInstructions) {\r\n const result = await this.provider.getExpandedInstructions(folder, auth);\r\n if (result) return result;\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(folder, auth);\r\n if (plan) return Converters.presentationsToExpandedInstructions(plan);\r\n }\r\n\r\n if (caps.instructions) {\r\n const instructions = await this.provider.getInstructions(folder, auth);\r\n if (instructions) return instructions;\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist) {\r\n const playlist = await this.provider.getPlaylist(folder, auth);\r\n if (playlist && playlist.length > 0) {\r\n return Converters.playlistToInstructions(playlist, folder.title);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getExpandedInstructionsWithMeta(\r\n folder: ContentFolder,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<{ data: Instructions | null; meta: ResolvedFormatMeta }> {\r\n const caps = this.provider.getCapabilities();\r\n\r\n if (caps.expandedInstructions) {\r\n const result = await this.provider.getExpandedInstructions(folder, auth);\r\n if (result) {\r\n return { data: result, meta: { isNative: true, isLossy: false } };\r\n }\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(folder, auth);\r\n if (plan) {\r\n return {\r\n data: Converters.presentationsToExpandedInstructions(plan),\r\n meta: { isNative: false, sourceFormat: 'presentations', isLossy: false }\r\n };\r\n }\r\n }\r\n\r\n if (caps.instructions) {\r\n const instructions = await this.provider.getInstructions(folder, auth);\r\n if (instructions) {\r\n return {\r\n data: instructions,\r\n meta: { isNative: false, sourceFormat: 'instructions', isLossy: true }\r\n };\r\n }\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist) {\r\n const playlist = await this.provider.getPlaylist(folder, auth);\r\n if (playlist && playlist.length > 0) {\r\n return {\r\n data: Converters.playlistToInstructions(playlist, folder.title),\r\n meta: { isNative: false, sourceFormat: 'playlist', isLossy: true }\r\n };\r\n }\r\n }\r\n\r\n return { data: null, meta: { isNative: false, isLossy: false } };\r\n }\r\n}\r\n","import { ContentProviderAuthData, ContentProviderConfig, ContentItem, ContentFolder, ContentFile, DeviceAuthorizationResponse, DeviceFlowPollResult, ProviderLogos, AuthType, Plan, Instructions, ProviderCapabilities, MediaLicenseResult } from './interfaces';\r\nimport { detectMediaType } from './utils';\r\nimport * as Converters from './FormatConverters';\r\n\r\nexport abstract class ContentProvider {\r\n abstract readonly id: string;\r\n abstract readonly name: string;\r\n abstract readonly logos: ProviderLogos;\r\n abstract readonly config: ContentProviderConfig;\r\n\r\n abstract browse(folder?: ContentFolder | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]>;\r\n\r\n abstract getPresentations(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<Plan | null>;\r\n\r\n async getPlaylist(folder: ContentFolder, auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null> {\r\n const caps = this.getCapabilities();\r\n if (caps.presentations) {\r\n const plan = await this.getPresentations(folder, auth);\r\n if (plan) return Converters.presentationsToPlaylist(plan);\r\n }\r\n return null;\r\n }\r\n\r\n async getInstructions(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const caps = this.getCapabilities();\r\n\r\n if (caps.expandedInstructions) {\r\n const expanded = await this.getExpandedInstructions(folder, auth);\r\n if (expanded) return Converters.collapseInstructions(expanded);\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.getPresentations(folder, auth);\r\n if (plan) return Converters.presentationsToInstructions(plan);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getExpandedInstructions(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const caps = this.getCapabilities();\r\n\r\n if (caps.presentations) {\r\n const plan = await this.getPresentations(folder, auth);\r\n if (plan) return Converters.presentationsToExpandedInstructions(plan);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n requiresAuth(): boolean {\r\n return !!this.config.clientId;\r\n }\r\n\r\n getCapabilities(): ProviderCapabilities {\r\n return {\r\n browse: true,\r\n presentations: false,\r\n playlist: false,\r\n instructions: false,\r\n expandedInstructions: false,\r\n mediaLicensing: false\r\n };\r\n }\r\n\r\n checkMediaLicense(_mediaId: string, _auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null> {\r\n return Promise.resolve(null);\r\n }\r\n\r\n getAuthTypes(): AuthType[] {\r\n if (!this.requiresAuth()) return ['none'];\r\n const types: AuthType[] = ['oauth_pkce'];\r\n if (this.supportsDeviceFlow()) types.push('device_flow');\r\n return types;\r\n }\r\n\r\n isAuthValid(auth: ContentProviderAuthData | null | undefined): boolean {\r\n if (!auth) return false;\r\n return !this.isTokenExpired(auth);\r\n }\r\n\r\n isTokenExpired(auth: ContentProviderAuthData): boolean {\r\n if (!auth.created_at || !auth.expires_in) return true;\r\n const expiresAt = (auth.created_at + auth.expires_in) * 1000;\r\n return Date.now() > expiresAt - 5 * 60 * 1000; // 5-minute buffer\r\n }\r\n\r\n generateCodeVerifier(): string {\r\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\r\n const length = 64;\r\n const array = new Uint8Array(length);\r\n crypto.getRandomValues(array);\r\n let result = '';\r\n for (let i = 0; i < length; i++) {\r\n result += chars.charAt(array[i] % chars.length);\r\n }\r\n return result;\r\n }\r\n\r\n async generateCodeChallenge(verifier: string): Promise<string> {\r\n const encoder = new TextEncoder();\r\n const data = encoder.encode(verifier);\r\n const hashBuffer = await crypto.subtle.digest('SHA-256', data);\r\n const hashArray = new Uint8Array(hashBuffer);\r\n\r\n let binary = '';\r\n for (let i = 0; i < hashArray.length; i++) {\r\n binary += String.fromCharCode(hashArray[i]);\r\n }\r\n const base64 = btoa(binary);\r\n return base64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\r\n }\r\n\r\n async buildAuthUrl(codeVerifier: string, redirectUri: string, state?: string): Promise<{ url: string; challengeMethod: string }> {\r\n const codeChallenge = await this.generateCodeChallenge(codeVerifier);\r\n const params = new URLSearchParams({\r\n response_type: 'code',\r\n client_id: this.config.clientId,\r\n redirect_uri: redirectUri,\r\n scope: this.config.scopes.join(' '),\r\n code_challenge: codeChallenge,\r\n code_challenge_method: 'S256',\r\n state: state || this.id\r\n });\r\n return { url: `${this.config.oauthBase}/authorize?${params.toString()}`, challengeMethod: 'S256' };\r\n }\r\n\r\n async exchangeCodeForTokens(code: string, codeVerifier: string, redirectUri: string): Promise<ContentProviderAuthData | null> {\r\n try {\r\n const params = new URLSearchParams({\r\n grant_type: 'authorization_code',\r\n code,\r\n redirect_uri: redirectUri,\r\n client_id: this.config.clientId,\r\n code_verifier: codeVerifier\r\n });\r\n\r\n const tokenUrl = `${this.config.oauthBase}/token`;\r\n console.log(`${this.id} token exchange request to: ${tokenUrl}`);\r\n console.log(` - client_id: ${this.config.clientId}`);\r\n console.log(` - redirect_uri: ${redirectUri}`);\r\n console.log(` - code: ${code.substring(0, 10)}...`);\r\n\r\n const response = await fetch(tokenUrl, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: params.toString() });\r\n\r\n console.log(`${this.id} token response status: ${response.status}`);\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(`${this.id} token exchange failed: ${response.status} - ${errorText}`);\r\n return null;\r\n }\r\n\r\n const data = await response.json();\r\n console.log(`${this.id} token exchange successful, got access_token: ${!!data.access_token}`);\r\n return {\r\n access_token: data.access_token,\r\n refresh_token: data.refresh_token,\r\n token_type: data.token_type || 'Bearer',\r\n created_at: Math.floor(Date.now() / 1000),\r\n expires_in: data.expires_in,\r\n scope: data.scope || this.config.scopes.join(' ')\r\n };\r\n } catch (error) {\r\n console.error(`${this.id} token exchange error:`, error);\r\n return null;\r\n }\r\n }\r\n\r\n async refreshToken(auth: ContentProviderAuthData): Promise<ContentProviderAuthData | null> {\r\n if (!auth.refresh_token) return null;\r\n\r\n try {\r\n const params = new URLSearchParams({\r\n grant_type: 'refresh_token',\r\n refresh_token: auth.refresh_token,\r\n client_id: this.config.clientId\r\n });\r\n\r\n const response = await fetch(`${this.config.oauthBase}/token`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: params.toString() });\r\n if (!response.ok) return null;\r\n\r\n const data = await response.json();\r\n return {\r\n access_token: data.access_token,\r\n refresh_token: data.refresh_token || auth.refresh_token,\r\n token_type: data.token_type || 'Bearer',\r\n created_at: Math.floor(Date.now() / 1000),\r\n expires_in: data.expires_in,\r\n scope: data.scope || auth.scope\r\n };\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n supportsDeviceFlow(): boolean {\r\n return !!this.config.supportsDeviceFlow && !!this.config.deviceAuthEndpoint;\r\n }\r\n\r\n async initiateDeviceFlow(): Promise<DeviceAuthorizationResponse | null> {\r\n if (!this.supportsDeviceFlow()) return null;\r\n\r\n try {\r\n const params = new URLSearchParams({ client_id: this.config.clientId, scope: this.config.scopes.join(' ') });\r\n const response = await fetch(`${this.config.oauthBase}${this.config.deviceAuthEndpoint}`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: params.toString() });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n async pollDeviceFlowToken(deviceCode: string): Promise<DeviceFlowPollResult> {\r\n try {\r\n const params = new URLSearchParams({\r\n grant_type: 'urn:ietf:params:oauth:grant-type:device_code',\r\n device_code: deviceCode,\r\n client_id: this.config.clientId\r\n });\r\n\r\n const response = await fetch(`${this.config.oauthBase}/token`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: params.toString() });\r\n\r\n if (response.ok) {\r\n const data = await response.json();\r\n return {\r\n access_token: data.access_token,\r\n refresh_token: data.refresh_token,\r\n token_type: data.token_type || 'Bearer',\r\n created_at: Math.floor(Date.now() / 1000),\r\n expires_in: data.expires_in,\r\n scope: data.scope || this.config.scopes.join(' ')\r\n };\r\n }\r\n\r\n const errorData = await response.json();\r\n switch (errorData.error) {\r\n case 'authorization_pending': return { error: 'authorization_pending' };\r\n case 'slow_down': return { error: 'slow_down', shouldSlowDown: true };\r\n case 'expired_token': return null;\r\n case 'access_denied': return null;\r\n default: return null;\r\n }\r\n } catch {\r\n return { error: 'network_error' };\r\n }\r\n }\r\n\r\n calculatePollDelay(baseInterval: number = 5, slowDownCount: number = 0): number {\r\n return (baseInterval + slowDownCount * 5) * 1000;\r\n }\r\n\r\n protected createAuthHeaders(auth: ContentProviderAuthData | null | undefined): Record<string, string> | null {\r\n if (!auth) return null;\r\n return { Authorization: `Bearer ${auth.access_token}`, Accept: 'application/json' };\r\n }\r\n\r\n protected async apiRequest<T>(path: string, auth?: ContentProviderAuthData | null, method: 'GET' | 'POST' = 'GET', body?: unknown): Promise<T | null> {\r\n try {\r\n const url = `${this.config.apiBase}${path}`;\r\n const headers: Record<string, string> = { Accept: 'application/json' };\r\n if (auth) headers['Authorization'] = `Bearer ${auth.access_token}`;\r\n if (body) headers['Content-Type'] = 'application/json';\r\n\r\n console.log(`${this.id} API request: ${method} ${url}`);\r\n console.log(`${this.id} API auth present: ${!!auth}`);\r\n\r\n const options: RequestInit = { method, headers, ...(body ? { body: JSON.stringify(body) } : {}) };\r\n const response = await fetch(url, options);\r\n\r\n console.log(`${this.id} API response status: ${response.status}`);\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(`${this.id} API request failed: ${response.status} - ${errorText}`);\r\n return null;\r\n }\r\n return await response.json();\r\n } catch (error) {\r\n console.error(`${this.id} API request error:`, error);\r\n return null;\r\n }\r\n }\r\n\r\n protected createFolder(id: string, title: string, image?: string, providerData?: Record<string, unknown>): ContentFolder {\r\n return { type: 'folder', id, title, image, providerData };\r\n }\r\n\r\n protected createFile(id: string, title: string, url: string, options?: {\r\n mediaType?: 'video' | 'image';\r\n image?: string;\r\n muxPlaybackId?: string;\r\n providerData?: Record<string, unknown>;\r\n }): ContentFile {\r\n return {\r\n type: 'file',\r\n id,\r\n title,\r\n url,\r\n mediaType: options?.mediaType ?? detectMediaType(url),\r\n image: options?.image,\r\n muxPlaybackId: options?.muxPlaybackId,\r\n providerData: options?.providerData\r\n };\r\n }\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFolder, ContentFile, ProviderLogos, Plan, PlanPresentation, ProviderCapabilities, MediaLicenseResult } from '../interfaces';\r\nimport { ContentProvider } from '../ContentProvider';\r\nimport { detectMediaType } from '../utils';\r\n\r\nexport class APlayProvider extends ContentProvider {\r\n readonly id = 'aplay';\r\n readonly name = 'APlay';\r\n\r\n readonly logos: ProviderLogos = {\r\n light: 'https://www.joinamazing.com/_assets/v11/3ba846c5afd7e73d27bc4d87b63d423e7ae2dc73.svg',\r\n dark: 'https://www.joinamazing.com/_assets/v11/3ba846c5afd7e73d27bc4d87b63d423e7ae2dc73.svg'\r\n };\r\n\r\n readonly config: ContentProviderConfig = {\r\n id: 'aplay',\r\n name: 'APlay',\r\n apiBase: 'https://api-prod.amazingkids.app',\r\n oauthBase: 'https://api.joinamazing.com/prod/aims/oauth',\r\n clientId: 'xFJFq7yNYuXXXMx0YBiQ',\r\n scopes: ['openid', 'profile', 'email'],\r\n endpoints: {\r\n modules: '/prod/curriculum/modules',\r\n productLibraries: (productId: string) => `/prod/curriculum/modules/products/${productId}/libraries`,\r\n libraryMedia: (libraryId: string) => `/prod/creators/libraries/${libraryId}/media`\r\n }\r\n };\r\n\r\n override getCapabilities(): ProviderCapabilities {\r\n return {\r\n browse: true,\r\n presentations: true,\r\n playlist: false,\r\n instructions: false,\r\n expandedInstructions: false,\r\n mediaLicensing: true\r\n };\r\n }\r\n\r\n async browse(folder?: ContentFolder | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n console.log(`APlay browse called with folder:`, folder ? { id: folder.id, level: folder.providerData?.level } : 'null');\r\n console.log(`APlay browse auth present:`, !!auth);\r\n\r\n if (!folder) {\r\n console.log(`APlay fetching modules from: ${this.config.endpoints.modules}`);\r\n const response = await this.apiRequest<Record<string, unknown>>(this.config.endpoints.modules as string, auth);\r\n console.log(`APlay modules response:`, response ? 'received' : 'null');\r\n if (!response) return [];\r\n\r\n const modules = (response.data || response.modules || response) as Record<string, unknown>[];\r\n console.log(`APlay modules count:`, Array.isArray(modules) ? modules.length : 'not an array');\r\n if (!Array.isArray(modules)) return [];\r\n\r\n const items: ContentItem[] = [];\r\n\r\n for (const m of modules) {\r\n if (m.isLocked) continue;\r\n\r\n const allProducts = (m.products as Record<string, unknown>[]) || [];\r\n const products = allProducts.filter((p) => !p.isHidden);\r\n\r\n if (products.length === 0) {\r\n items.push({\r\n type: 'folder',\r\n id: (m.id || m.moduleId) as string,\r\n title: (m.title || m.name) as string,\r\n image: m.image as string | undefined,\r\n providerData: { level: 'libraries', productId: m.id || m.moduleId }\r\n });\r\n } else if (products.length === 1) {\r\n const product = products[0];\r\n items.push({\r\n type: 'folder',\r\n id: (product.productId || product.id) as string,\r\n title: (m.title || m.name) as string,\r\n image: (m.image || product.image) as string | undefined,\r\n providerData: { level: 'libraries', productId: product.productId || product.id }\r\n });\r\n } else {\r\n items.push({\r\n type: 'folder',\r\n id: (m.id || m.moduleId) as string,\r\n title: (m.title || m.name) as string,\r\n image: m.image as string | undefined,\r\n providerData: {\r\n level: 'products',\r\n products: products.map((p) => ({ id: p.productId || p.id, title: p.title || p.name, image: p.image }))\r\n }\r\n });\r\n }\r\n }\r\n\r\n return items;\r\n }\r\n\r\n const level = folder.providerData?.level;\r\n switch (level) {\r\n case 'products': return this.getProductFolders(folder);\r\n case 'libraries': return this.getLibraryFolders(folder, auth);\r\n case 'media': return this.getMediaFiles(folder, auth);\r\n default: return [];\r\n }\r\n }\r\n\r\n private getProductFolders(folder: ContentFolder): ContentItem[] {\r\n const products = (folder.providerData?.products as Record<string, unknown>[]) || [];\r\n return products.map((p) => ({\r\n type: 'folder' as const,\r\n id: p.id as string,\r\n title: p.title as string,\r\n image: p.image as string | undefined,\r\n providerData: { level: 'libraries', productId: p.id }\r\n }));\r\n }\r\n\r\n private async getLibraryFolders(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const productId = folder.providerData?.productId as string | undefined;\r\n console.log(`APlay getLibraryFolders called with productId:`, productId);\r\n if (!productId) return [];\r\n\r\n const pathFn = this.config.endpoints.productLibraries as (id: string) => string;\r\n const path = pathFn(productId);\r\n console.log(`APlay fetching libraries from: ${path}`);\r\n const response = await this.apiRequest<Record<string, unknown>>(path, auth);\r\n console.log(`APlay libraries response:`, response ? 'received' : 'null');\r\n if (!response) return [];\r\n\r\n const libraries = (response.data || response.libraries || response) as Record<string, unknown>[];\r\n console.log(`APlay libraries count:`, Array.isArray(libraries) ? libraries.length : 'not an array');\r\n if (!Array.isArray(libraries)) return [];\r\n\r\n return libraries.map((l) => ({\r\n type: 'folder' as const,\r\n id: (l.libraryId || l.id) as string,\r\n title: (l.title || l.name) as string,\r\n image: l.image as string | undefined,\r\n providerData: { level: 'media', libraryId: l.libraryId || l.id }\r\n }));\r\n }\r\n\r\n private async getMediaFiles(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const libraryId = folder.providerData?.libraryId as string | undefined;\r\n console.log(`APlay getMediaFiles called with libraryId:`, libraryId);\r\n if (!libraryId) return [];\r\n\r\n const pathFn = this.config.endpoints.libraryMedia as (id: string) => string;\r\n const path = pathFn(libraryId);\r\n console.log(`APlay fetching media from: ${path}`);\r\n const response = await this.apiRequest<Record<string, unknown>>(path, auth);\r\n console.log(`APlay media response:`, response ? 'received' : 'null');\r\n if (!response) return [];\r\n\r\n const mediaItems = (response.data || response.media || response) as Record<string, unknown>[];\r\n if (!Array.isArray(mediaItems)) return [];\r\n\r\n const files: ContentFile[] = [];\r\n\r\n for (const item of mediaItems) {\r\n const mediaType = (item.mediaType as string)?.toLowerCase();\r\n let url = '';\r\n let thumbnail = ((item.thumbnail as Record<string, unknown>)?.src || '') as string;\r\n let muxPlaybackId: string | undefined;\r\n\r\n const video = item.video as Record<string, unknown> | undefined;\r\n const image = item.image as Record<string, unknown> | undefined;\r\n\r\n if (mediaType === 'video' && video) {\r\n muxPlaybackId = video.muxPlaybackId as string | undefined;\r\n if (muxPlaybackId) {\r\n url = `https://stream.mux.com/${muxPlaybackId}/capped-1080p.mp4`;\r\n } else {\r\n url = (video.muxStreamingUrl || video.url || '') as string;\r\n }\r\n thumbnail = thumbnail || (video.thumbnailUrl as string) || '';\r\n } else if (mediaType === 'image' || image) {\r\n url = (image?.src || item.url || '') as string;\r\n thumbnail = thumbnail || (image?.src as string) || '';\r\n } else {\r\n url = (item.url || item.src || '') as string;\r\n thumbnail = thumbnail || (item.thumbnailUrl as string) || '';\r\n }\r\n\r\n if (!url) continue;\r\n\r\n const detectedMediaType = detectMediaType(url, mediaType);\r\n\r\n const fileId = (item.mediaId || item.id) as string;\r\n files.push({\r\n type: 'file',\r\n id: fileId,\r\n title: (item.title || item.name || item.fileName || '') as string,\r\n mediaType: detectedMediaType,\r\n image: thumbnail,\r\n url,\r\n muxPlaybackId,\r\n mediaId: fileId\r\n });\r\n }\r\n\r\n return files;\r\n }\r\n\r\n async getPresentations(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const libraryId = folder.providerData?.libraryId as string | undefined;\r\n if (!libraryId) return null;\r\n\r\n const files = await this.getMediaFiles(folder, auth) as ContentFile[];\r\n if (files.length === 0) return null;\r\n\r\n const presentations: PlanPresentation[] = files.map(f => ({\r\n id: f.id,\r\n name: f.title,\r\n actionType: 'play' as const,\r\n files: [f]\r\n }));\r\n\r\n return {\r\n id: libraryId,\r\n name: folder.title,\r\n image: folder.image,\r\n sections: [{\r\n id: `section-${libraryId}`,\r\n name: folder.title || 'Library',\r\n presentations\r\n }],\r\n allFiles: files\r\n };\r\n }\r\n\r\n override async checkMediaLicense(mediaId: string, auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null> {\r\n if (!auth) return null;\r\n\r\n try {\r\n const url = `${this.config.apiBase}/prod/reports/media/license-check`;\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Authorization': `Bearer ${auth.access_token}`,\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json'\r\n },\r\n body: JSON.stringify({ mediaIds: [mediaId] })\r\n });\r\n\r\n if (!response.ok) return null;\r\n\r\n const data = await response.json();\r\n const licenseData = Array.isArray(data) ? data : data.data || [];\r\n const result = licenseData.find((item: Record<string, unknown>) => item.mediaId === mediaId);\r\n\r\n if (result?.isLicensed) {\r\n const pingbackUrl = `${this.config.apiBase}/prod/reports/media/${mediaId}/stream-count?source=aplay-pro`;\r\n return {\r\n mediaId,\r\n status: 'valid',\r\n message: 'Media is licensed for playback',\r\n expiresAt: result.expiresAt as string | number | undefined\r\n };\r\n }\r\n\r\n return {\r\n mediaId,\r\n status: 'not_licensed',\r\n message: 'Media is not licensed'\r\n };\r\n } catch {\r\n return {\r\n mediaId,\r\n status: 'unknown',\r\n message: 'Unable to verify license status'\r\n };\r\n }\r\n }\r\n\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFolder, ContentFile, ProviderLogos, Plan, PlanPresentation, ProviderCapabilities } from '../interfaces';\r\nimport { ContentProvider } from '../ContentProvider';\r\nimport { detectMediaType } from '../utils';\r\n\r\nexport class SignPresenterProvider extends ContentProvider {\r\n readonly id = 'signpresenter';\r\n readonly name = 'SignPresenter';\r\n\r\n readonly logos: ProviderLogos = {\r\n light: 'https://signpresenter.com/files/shared/images/logo.png',\r\n dark: 'https://signpresenter.com/files/shared/images/logo.png'\r\n };\r\n\r\n readonly config: ContentProviderConfig = {\r\n id: 'signpresenter',\r\n name: 'SignPresenter',\r\n apiBase: 'https://api.signpresenter.com',\r\n oauthBase: 'https://api.signpresenter.com/oauth',\r\n clientId: 'lessonsscreen-tv',\r\n scopes: ['openid', 'profile', 'content'],\r\n supportsDeviceFlow: true,\r\n deviceAuthEndpoint: '/device/authorize',\r\n endpoints: {\r\n playlists: '/content/playlists',\r\n messages: (playlistId: string) => `/content/playlists/${playlistId}/messages`\r\n }\r\n };\r\n\r\n override getCapabilities(): ProviderCapabilities {\r\n return {\r\n browse: true,\r\n presentations: true,\r\n playlist: false,\r\n instructions: false,\r\n expandedInstructions: false,\r\n mediaLicensing: false\r\n };\r\n }\r\n\r\n async browse(folder?: ContentFolder | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n if (!folder) {\r\n const path = this.config.endpoints.playlists as string;\r\n const response = await this.apiRequest<unknown>(path, auth);\r\n if (!response) return [];\r\n\r\n const playlists = Array.isArray(response)\r\n ? response\r\n : ((response as Record<string, unknown>).data || (response as Record<string, unknown>).playlists || []) as Record<string, unknown>[];\r\n\r\n if (!Array.isArray(playlists)) return [];\r\n\r\n return playlists.map((p) => ({\r\n type: 'folder' as const,\r\n id: p.id as string,\r\n title: p.name as string,\r\n image: p.image as string | undefined,\r\n providerData: { level: 'messages', playlistId: p.id }\r\n }));\r\n }\r\n\r\n const level = folder.providerData?.level;\r\n if (level === 'messages') return this.getMessages(folder, auth);\r\n return [];\r\n }\r\n\r\n private async getMessages(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const playlistId = folder.providerData?.playlistId as string | undefined;\r\n if (!playlistId) return [];\r\n\r\n const pathFn = this.config.endpoints.messages as (id: string) => string;\r\n const response = await this.apiRequest<unknown>(pathFn(playlistId), auth);\r\n if (!response) return [];\r\n\r\n const messages = Array.isArray(response)\r\n ? response\r\n : ((response as Record<string, unknown>).data || (response as Record<string, unknown>).messages || []) as Record<string, unknown>[];\r\n\r\n if (!Array.isArray(messages)) return [];\r\n\r\n const files: ContentFile[] = [];\r\n\r\n for (const msg of messages) {\r\n if (!msg.url) continue;\r\n\r\n const url = msg.url as string;\r\n const seconds = msg.seconds as number | undefined;\r\n\r\n files.push({\r\n type: 'file',\r\n id: msg.id as string,\r\n title: msg.name as string,\r\n mediaType: detectMediaType(url, msg.mediaType as string | undefined),\r\n image: (msg.thumbnail || msg.image) as string | undefined,\r\n url,\r\n // For direct media providers, embedUrl is the media URL itself\r\n embedUrl: url,\r\n providerData: seconds !== undefined ? { seconds } : undefined\r\n });\r\n }\r\n\r\n return files;\r\n }\r\n\r\n async getPresentations(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const playlistId = folder.providerData?.playlistId as string | undefined;\r\n if (!playlistId) return null;\r\n\r\n const files = await this.getMessages(folder, auth) as ContentFile[];\r\n if (files.length === 0) return null;\r\n\r\n const presentations: PlanPresentation[] = files.map(f => ({\r\n id: f.id,\r\n name: f.title,\r\n actionType: 'play' as const,\r\n files: [f]\r\n }));\r\n\r\n return {\r\n id: playlistId,\r\n name: folder.title,\r\n image: folder.image,\r\n sections: [{\r\n id: `section-${playlistId}`,\r\n name: folder.title || 'Playlist',\r\n presentations\r\n }],\r\n allFiles: files\r\n };\r\n }\r\n\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFolder, ContentFile, ProviderLogos, Plan, PlanSection, PlanPresentation, FeedVenueInterface, Instructions, InstructionItem, VenueActionsResponseInterface, ProviderCapabilities } from '../interfaces';\r\nimport { ContentProvider } from '../ContentProvider';\r\nimport { detectMediaType } from '../utils';\r\n\r\nexport class LessonsChurchProvider extends ContentProvider {\r\n readonly id = 'lessonschurch';\r\n readonly name = 'Lessons.church';\r\n\r\n readonly logos: ProviderLogos = {\r\n light: 'https://lessons.church/images/logo.png',\r\n dark: 'https://lessons.church/images/logo-dark.png'\r\n };\r\n\r\n readonly config: ContentProviderConfig = {\r\n id: 'lessonschurch',\r\n name: 'Lessons.church',\r\n apiBase: 'https://api.lessons.church',\r\n oauthBase: '',\r\n clientId: '',\r\n scopes: [],\r\n endpoints: {\r\n programs: '/programs/public',\r\n studies: (programId: string) => `/studies/public/program/${programId}`,\r\n lessons: (studyId: string) => `/lessons/public/study/${studyId}`,\r\n venues: (lessonId: string) => `/venues/public/lesson/${lessonId}`,\r\n playlist: (venueId: string) => `/venues/playlist/${venueId}`,\r\n feed: (venueId: string) => `/venues/public/feed/${venueId}`,\r\n addOns: '/addOns/public',\r\n addOnDetail: (id: string) => `/addOns/public/${id}`\r\n }\r\n };\r\n\r\n override requiresAuth(): boolean {\r\n return false;\r\n }\r\n\r\n override getCapabilities(): ProviderCapabilities {\r\n return {\r\n browse: true,\r\n presentations: true,\r\n playlist: true,\r\n instructions: true,\r\n expandedInstructions: true,\r\n mediaLicensing: false\r\n };\r\n }\r\n\r\n override async getPlaylist(folder: ContentFolder, _auth?: ContentProviderAuthData | null, resolution?: number): Promise<ContentFile[] | null> {\r\n const venueId = folder.providerData?.venueId as string | undefined;\r\n if (!venueId) return null;\r\n\r\n let path = `/venues/playlist/${venueId}`;\r\n if (resolution) path += `?resolution=${resolution}`;\r\n\r\n const response = await this.apiRequest<Record<string, unknown>>(path);\r\n if (!response) return null;\r\n\r\n const files: ContentFile[] = [];\r\n const messages = (response.messages || []) as Record<string, unknown>[];\r\n\r\n let fileIndex = 0;\r\n for (const msg of messages) {\r\n const msgFiles = (msg.files || []) as Record<string, unknown>[];\r\n for (let i = 0; i < msgFiles.length; i++) {\r\n const f = msgFiles[i];\r\n if (!f.url) continue;\r\n\r\n const url = f.url as string;\r\n // Generate a unique id if not provided by API\r\n const fileId = (f.id as string) || `playlist-${fileIndex++}`;\r\n\r\n files.push({\r\n type: 'file',\r\n id: fileId,\r\n title: (f.name || msg.name) as string,\r\n mediaType: detectMediaType(url, f.fileType as string | undefined),\r\n image: response.lessonImage as string | undefined,\r\n url,\r\n providerData: { seconds: f.seconds, loop: f.loop, loopVideo: f.loopVideo }\r\n });\r\n }\r\n }\r\n\r\n return files;\r\n }\r\n\r\n protected override async apiRequest<T>(path: string): Promise<T | null> {\r\n try {\r\n const url = `${this.config.apiBase}${path}`;\r\n const response = await fetch(url, { method: 'GET', headers: { Accept: 'application/json' } });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n async browse(folder?: ContentFolder | null, _auth?: ContentProviderAuthData | null, resolution?: number): Promise<ContentItem[]> {\r\n if (!folder) {\r\n // Return top-level folders: Lessons and Add-Ons\r\n return [\r\n {\r\n type: 'folder' as const,\r\n id: 'lessons-root',\r\n title: 'Lessons',\r\n providerData: { level: 'programs' }\r\n },\r\n {\r\n type: 'folder' as const,\r\n id: 'addons-root',\r\n title: 'Add-Ons',\r\n providerData: { level: 'addOnCategories' }\r\n }\r\n ];\r\n }\r\n\r\n const level = folder.providerData?.level;\r\n switch (level) {\r\n // Lessons hierarchy\r\n case 'programs': return this.getPrograms();\r\n case 'studies': return this.getStudies(folder);\r\n case 'lessons': return this.getLessons(folder);\r\n case 'venues': return this.getVenues(folder);\r\n case 'playlist': return this.getPlaylistFiles(folder, resolution);\r\n // Add-ons hierarchy\r\n case 'addOnCategories': return this.getAddOnCategories();\r\n case 'addOns': return this.getAddOnsByCategory(folder);\r\n default: return [];\r\n }\r\n }\r\n\r\n private async getPrograms(): Promise<ContentItem[]> {\r\n const path = this.config.endpoints.programs as string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(path);\r\n if (!response) return [];\r\n\r\n const programs = Array.isArray(response) ? response : [];\r\n return programs.map((p) => ({\r\n type: 'folder' as const,\r\n id: p.id as string,\r\n title: p.name as string,\r\n image: p.image as string | undefined,\r\n providerData: { level: 'studies', programId: p.id }\r\n }));\r\n }\r\n\r\n private async getStudies(folder: ContentFolder): Promise<ContentItem[]> {\r\n const programId = folder.providerData?.programId as string | undefined;\r\n if (!programId) return [];\r\n\r\n const pathFn = this.config.endpoints.studies as (id: string) => string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(pathFn(programId));\r\n if (!response) return [];\r\n\r\n const studies = Array.isArray(response) ? response : [];\r\n return studies.map((s) => ({\r\n type: 'folder' as const,\r\n id: s.id as string,\r\n title: s.name as string,\r\n image: s.image as string | undefined,\r\n providerData: { level: 'lessons', studyId: s.id }\r\n }));\r\n }\r\n\r\n private async getLessons(folder: ContentFolder): Promise<ContentItem[]> {\r\n const studyId = folder.providerData?.studyId as string | undefined;\r\n if (!studyId) return [];\r\n\r\n const pathFn = this.config.endpoints.lessons as (id: string) => string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(pathFn(studyId));\r\n if (!response) return [];\r\n\r\n const lessons = Array.isArray(response) ? response : [];\r\n return lessons.map((l) => ({\r\n type: 'folder' as const,\r\n id: l.id as string,\r\n title: (l.name || l.title) as string,\r\n image: l.image as string | undefined,\r\n providerData: { level: 'venues', lessonId: l.id, lessonImage: l.image }\r\n }));\r\n }\r\n\r\n private async getVenues(folder: ContentFolder): Promise<ContentItem[]> {\r\n const lessonId = folder.providerData?.lessonId as string | undefined;\r\n if (!lessonId) return [];\r\n\r\n const pathFn = this.config.endpoints.venues as (id: string) => string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(pathFn(lessonId));\r\n if (!response) return [];\r\n\r\n const venues = Array.isArray(response) ? response : [];\r\n return venues.map((v) => ({\r\n type: 'folder' as const,\r\n id: v.id as string,\r\n title: v.name as string,\r\n image: folder.providerData?.lessonImage as string | undefined,\r\n providerData: { level: 'playlist', venueId: v.id }\r\n }));\r\n }\r\n\r\n private async getPlaylistFiles(folder: ContentFolder, resolution?: number): Promise<ContentItem[]> {\r\n const files = await this.getPlaylist(folder, null, resolution);\r\n return files || [];\r\n }\r\n\r\n private async getAddOnCategories(): Promise<ContentItem[]> {\r\n const path = this.config.endpoints.addOns as string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(path);\r\n if (!response) return [];\r\n\r\n const addOns = Array.isArray(response) ? response : [];\r\n\r\n // Extract unique categories\r\n const categories = Array.from(new Set(addOns.map((a) => a.category as string).filter(Boolean)));\r\n\r\n return categories.sort().map((category) => ({\r\n type: 'folder' as const,\r\n id: `category-${category}`,\r\n title: category,\r\n providerData: {\r\n level: 'addOns',\r\n category: category,\r\n allAddOns: addOns\r\n }\r\n }));\r\n }\r\n\r\n private async getAddOnsByCategory(folder: ContentFolder): Promise<ContentItem[]> {\r\n const category = folder.providerData?.category as string | undefined;\r\n const allAddOns = (folder.providerData?.allAddOns || []) as Record<string, unknown>[];\r\n\r\n const filtered = allAddOns.filter((a) => a.category === category);\r\n\r\n // Convert to playable files\r\n const files: ContentFile[] = [];\r\n for (const addOn of filtered) {\r\n const file = await this.convertAddOnToFile(addOn);\r\n if (file) files.push(file);\r\n }\r\n return files;\r\n }\r\n\r\n private async convertAddOnToFile(addOn: Record<string, unknown>): Promise<ContentFile | null> {\r\n const pathFn = this.config.endpoints.addOnDetail as (id: string) => string;\r\n const path = pathFn(addOn.id as string);\r\n const detail = await this.apiRequest<Record<string, unknown>>(path);\r\n if (!detail) return null;\r\n\r\n let url = '';\r\n let mediaType: 'video' | 'image' = 'video';\r\n let seconds = (addOn.seconds as number) || 10;\r\n\r\n const video = detail.video as Record<string, unknown> | undefined;\r\n const file = detail.file as Record<string, unknown> | undefined;\r\n\r\n if (video) {\r\n // External video (Vimeo) - use download endpoint\r\n url = `${this.config.apiBase}/externalVideos/download/${video.id}`;\r\n seconds = (video.seconds as number) || seconds;\r\n } else if (file) {\r\n // File-based add-on\r\n url = file.contentPath as string;\r\n const fileType = file.fileType as string | undefined;\r\n mediaType = fileType?.startsWith('video/') ? 'video' : 'image';\r\n } else {\r\n return null;\r\n }\r\n\r\n return {\r\n type: 'file',\r\n id: addOn.id as string,\r\n title: addOn.name as string,\r\n mediaType,\r\n image: addOn.image as string | undefined,\r\n url,\r\n embedUrl: `https://lessons.church/embed/addon/${addOn.id}`,\r\n providerData: {\r\n seconds,\r\n loopVideo: (video as Record<string, unknown> | undefined)?.loopVideo || false\r\n }\r\n };\r\n }\r\n\r\n async getPresentations(folder: ContentFolder, _auth?: ContentProviderAuthData | null, resolution?: number): Promise<Plan | null> {\r\n const venueId = folder.providerData?.venueId as string | undefined;\r\n if (!venueId) return null;\r\n\r\n let path = `/venues/public/feed/${venueId}`;\r\n if (resolution) path += `?resolution=${resolution}`;\r\n\r\n const venueData = await this.apiRequest<FeedVenueInterface>(path);\r\n if (!venueData) return null;\r\n\r\n return this.convertVenueToPlan(venueData);\r\n }\r\n\r\n async getInstructions(folder: ContentFolder, _auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const venueId = folder.providerData?.venueId as string | undefined;\r\n if (!venueId) return null;\r\n\r\n const response = await this.apiRequest<{ venueName?: string; items?: Record<string, unknown>[] }>(`/venues/public/planItems/${venueId}`);\r\n if (!response) return null;\r\n\r\n const processItem = (item: Record<string, unknown>): InstructionItem => ({\r\n id: item.id as string | undefined,\r\n itemType: item.itemType as string | undefined,\r\n relatedId: item.relatedId as string | undefined,\r\n label: item.label as string | undefined,\r\n description: item.description as string | undefined,\r\n seconds: item.seconds as number | undefined,\r\n children: (item.children as Record<string, unknown>[] | undefined)?.map(processItem),\r\n embedUrl: this.getEmbedUrl(item.itemType as string | undefined, item.relatedId as string | undefined)\r\n });\r\n\r\n return {\r\n venueName: response.venueName,\r\n items: (response.items || []).map(processItem)\r\n };\r\n }\r\n\r\n async getExpandedInstructions(folder: ContentFolder, _auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const venueId = folder.providerData?.venueId as string | undefined;\r\n if (!venueId) return null;\r\n\r\n const [planItemsResponse, actionsResponse] = await Promise.all([\r\n this.apiRequest<{ venueName?: string; items?: Record<string, unknown>[] }>(`/venues/public/planItems/${venueId}`),\r\n this.apiRequest<VenueActionsResponseInterface>(`/venues/public/actions/${venueId}`)\r\n ]);\r\n\r\n if (!planItemsResponse) return null;\r\n\r\n const sectionActionsMap = new Map<string, InstructionItem[]>();\r\n if (actionsResponse?.sections) {\r\n for (const section of actionsResponse.sections) {\r\n if (section.id && section.actions) {\r\n sectionActionsMap.set(section.id, section.actions.map(action => ({\r\n id: action.id,\r\n itemType: 'lessonAction',\r\n relatedId: action.id,\r\n label: action.name,\r\n description: action.actionType,\r\n seconds: action.seconds,\r\n embedUrl: this.getEmbedUrl('lessonAction', action.id)\r\n })));\r\n }\r\n }\r\n }\r\n\r\n const processItem = (item: Record<string, unknown>): InstructionItem => {\r\n const relatedId = item.relatedId as string | undefined;\r\n const itemType = item.itemType as string | undefined;\r\n const children = item.children as Record<string, unknown>[] | undefined;\r\n\r\n let processedChildren: InstructionItem[] | undefined;\r\n\r\n if (children) {\r\n processedChildren = children.map(child => {\r\n const childRelatedId = child.relatedId as string | undefined;\r\n if (childRelatedId && sectionActionsMap.has(childRelatedId)) {\r\n return {\r\n id: child.id as string | undefined,\r\n itemType: child.itemType as string | undefined,\r\n relatedId: childRelatedId,\r\n label: child.label as string | undefined,\r\n description: child.description as string | undefined,\r\n seconds: child.seconds as number | undefined,\r\n children: sectionActionsMap.get(childRelatedId),\r\n embedUrl: this.getEmbedUrl(child.itemType as string | undefined, childRelatedId)\r\n };\r\n }\r\n return processItem(child);\r\n });\r\n }\r\n\r\n return {\r\n id: item.id as string | undefined,\r\n itemType,\r\n relatedId,\r\n label: item.label as string | undefined,\r\n description: item.description as string | undefined,\r\n seconds: item.seconds as number | undefined,\r\n children: processedChildren,\r\n embedUrl: this.getEmbedUrl(itemType, relatedId)\r\n };\r\n };\r\n\r\n return {\r\n venueName: planItemsResponse.venueName,\r\n items: (planItemsResponse.items || []).map(processItem)\r\n };\r\n }\r\n\r\n private getEmbedUrl(itemType?: string, relatedId?: string): string | undefined {\r\n if (!relatedId) return undefined;\r\n\r\n const baseUrl = 'https://lessons.church';\r\n switch (itemType) {\r\n case 'lessonAction': return `${baseUrl}/embed/action/${relatedId}`;\r\n case 'lessonAddOn': return `${baseUrl}/embed/addon/${relatedId}`;\r\n case 'lessonSection': return `${baseUrl}/embed/section/${relatedId}`;\r\n default: return undefined;\r\n }\r\n }\r\n\r\n private convertVenueToPlan(venue: FeedVenueInterface): Plan {\r\n const sections: PlanSection[] = [];\r\n const allFiles: ContentFile[] = [];\r\n\r\n for (const section of venue.sections || []) {\r\n const presentations: PlanPresentation[] = [];\r\n\r\n for (const action of section.actions || []) {\r\n const actionType = (action.actionType?.toLowerCase() || 'other') as 'play' | 'add-on' | 'other';\r\n if (actionType !== 'play' && actionType !== 'add-on') continue;\r\n\r\n const files: ContentFile[] = [];\r\n\r\n for (const file of action.files || []) {\r\n if (!file.url) continue;\r\n\r\n // Use action embed URL for preview (shows full action context)\r\n const embedUrl = action.id ? `https://lessons.church/embed/action/${action.id}` : undefined;\r\n\r\n const contentFile: ContentFile = {\r\n type: 'file',\r\n id: file.id || '',\r\n title: file.name || '',\r\n mediaType: detectMediaType(file.url, file.fileType),\r\n image: venue.lessonImage,\r\n url: file.url,\r\n embedUrl,\r\n providerData: { seconds: file.seconds, streamUrl: file.streamUrl }\r\n };\r\n\r\n files.push(contentFile);\r\n allFiles.push(contentFile);\r\n }\r\n\r\n if (files.length > 0) {\r\n presentations.push({ id: action.id || '', name: action.content || section.name || 'Untitled', actionType, files });\r\n }\r\n }\r\n\r\n if (presentations.length > 0) {\r\n sections.push({ id: section.id || '', name: section.name || 'Untitled Section', presentations });\r\n }\r\n }\r\n\r\n return {\r\n id: venue.id || '',\r\n name: venue.lessonName || venue.name || 'Plan',\r\n description: venue.lessonDescription,\r\n image: venue.lessonImage,\r\n sections,\r\n allFiles\r\n };\r\n }\r\n}\r\n","import { ContentProviderAuthData, ContentProviderConfig, DeviceAuthorizationResponse, DeviceFlowPollResult } from '../../interfaces';\r\n\r\nexport function buildB1AuthUrl(\r\n config: ContentProviderConfig,\r\n appBase: string,\r\n redirectUri: string,\r\n state?: string\r\n): { url: string; challengeMethod: string } {\r\n const oauthParams = new URLSearchParams({\r\n client_id: config.clientId,\r\n redirect_uri: redirectUri,\r\n response_type: 'code',\r\n scope: config.scopes.join(' ')\r\n });\r\n\r\n if (state) {\r\n oauthParams.set('state', state);\r\n }\r\n\r\n const returnUrl = `/oauth?${oauthParams.toString()}`;\r\n const url = `${appBase}/login?returnUrl=${encodeURIComponent(returnUrl)}`;\r\n return { url, challengeMethod: 'none' };\r\n}\r\n\r\nexport async function exchangeCodeForTokensWithSecret(\r\n config: ContentProviderConfig,\r\n code: string,\r\n redirectUri: string,\r\n clientSecret: string\r\n): Promise<ContentProviderAuthData | null> {\r\n try {\r\n const params = {\r\n grant_type: 'authorization_code',\r\n code,\r\n client_id: config.clientId,\r\n client_secret: clientSecret,\r\n redirect_uri: redirectUri\r\n };\r\n\r\n const tokenUrl = `${config.oauthBase}/token`;\r\n console.log(`B1Church token exchange request to: ${tokenUrl}`);\r\n console.log(` - client_id: ${config.clientId}`);\r\n console.log(` - redirect_uri: ${redirectUri}`);\r\n console.log(` - code: ${code.substring(0, 10)}...`);\r\n\r\n const response = await fetch(tokenUrl, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(params)\r\n });\r\n\r\n console.log(`B1Church token response status: ${response.status}`);\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(`B1Church token exchange failed: ${response.status} - ${errorText}`);\r\n return null;\r\n }\r\n\r\n const data = await response.json();\r\n console.log(`B1Church token exchange successful, got access_token: ${!!data.access_token}`);\r\n return {\r\n access_token: data.access_token,\r\n refresh_token: data.refresh_token,\r\n token_type: data.token_type || 'Bearer',\r\n created_at: Math.floor(Date.now() / 1000),\r\n expires_in: data.expires_in,\r\n scope: data.scope || config.scopes.join(' ')\r\n };\r\n } catch (error) {\r\n console.error('B1Church token exchange error:', error);\r\n return null;\r\n }\r\n}\r\n\r\nexport async function refreshTokenWithSecret(\r\n config: ContentProviderConfig,\r\n auth: ContentProviderAuthData,\r\n clientSecret: string\r\n): Promise<ContentProviderAuthData | null> {\r\n if (!auth.refresh_token) return null;\r\n\r\n try {\r\n const params = {\r\n grant_type: 'refresh_token',\r\n refresh_token: auth.refresh_token,\r\n client_id: config.clientId,\r\n client_secret: clientSecret\r\n };\r\n\r\n const response = await fetch(`${config.oauthBase}/token`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(params)\r\n });\r\n\r\n if (!response.ok) return null;\r\n\r\n const data = await response.json();\r\n return {\r\n access_token: data.access_token,\r\n refresh_token: data.refresh_token || auth.refresh_token,\r\n token_type: data.token_type || 'Bearer',\r\n created_at: Math.floor(Date.now() / 1000),\r\n expires_in: data.expires_in,\r\n scope: data.scope || auth.scope\r\n };\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport async function initiateDeviceFlow(\r\n config: ContentProviderConfig\r\n): Promise<DeviceAuthorizationResponse | null> {\r\n if (!config.supportsDeviceFlow || !config.deviceAuthEndpoint) return null;\r\n\r\n try {\r\n const response = await fetch(`${config.oauthBase}${config.deviceAuthEndpoint}`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n client_id: config.clientId,\r\n scope: config.scopes.join(' ')\r\n })\r\n });\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(`B1Church device authorize failed: ${response.status} - ${errorText}`);\r\n return null;\r\n }\r\n\r\n return await response.json();\r\n } catch (error) {\r\n console.error('B1Church device flow initiation error:', error);\r\n return null;\r\n }\r\n}\r\n\r\nexport async function pollDeviceFlowToken(\r\n config: ContentProviderConfig,\r\n deviceCode: string\r\n): Promise<DeviceFlowPollResult> {\r\n try {\r\n const response = await fetch(`${config.oauthBase}/token`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n grant_type: 'urn:ietf:params:oauth:grant-type:device_code',\r\n device_code: deviceCode,\r\n client_id: config.clientId\r\n })\r\n });\r\n\r\n if (response.ok) {\r\n const data = await response.json();\r\n return {\r\n access_token: data.access_token,\r\n refresh_token: data.refresh_token,\r\n token_type: data.token_type || 'Bearer',\r\n created_at: Math.floor(Date.now() / 1000),\r\n expires_in: data.expires_in,\r\n scope: data.scope || config.scopes.join(' ')\r\n };\r\n }\r\n\r\n const errorData = await response.json();\r\n switch (errorData.error) {\r\n case 'authorization_pending': return { error: 'authorization_pending' };\r\n case 'slow_down': return { error: 'slow_down', shouldSlowDown: true };\r\n case 'expired_token': return null;\r\n case 'access_denied': return null;\r\n default: return null;\r\n }\r\n } catch {\r\n return { error: 'network_error' };\r\n }\r\n}\r\n","import { ContentProviderAuthData, FeedVenueInterface } from '../../interfaces';\r\nimport { ArrangementKeyResponse, B1Ministry, B1PlanType, B1Plan } from './types';\r\n\r\nexport const API_BASE = 'https://api.churchapps.org';\r\nexport const LESSONS_API_BASE = 'https://api.lessons.church';\r\nexport const CONTENT_API_BASE = 'https://contentapi.churchapps.org';\r\n\r\nasync function authFetch<T>(url: string, auth: ContentProviderAuthData | null | undefined): Promise<T | null> {\r\n try {\r\n const headers: Record<string, string> = { Accept: 'application/json' };\r\n if (auth) {\r\n headers['Authorization'] = `Bearer ${auth.access_token}`;\r\n }\r\n const response = await fetch(url, { method: 'GET', headers });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport async function fetchMinistries(auth: ContentProviderAuthData | null | undefined): Promise<B1Ministry[]> {\r\n const result = await authFetch<B1Ministry[]>(`${API_BASE}/membership/groups/tag/ministry`, auth);\r\n return result || [];\r\n}\r\n\r\nexport async function fetchPlanTypes(ministryId: string, auth: ContentProviderAuthData | null | undefined): Promise<B1PlanType[]> {\r\n const result = await authFetch<B1PlanType[]>(`${API_BASE}/doing/planTypes/ministryId/${ministryId}`, auth);\r\n return result || [];\r\n}\r\n\r\nexport async function fetchPlans(planTypeId: string, auth: ContentProviderAuthData | null | undefined): Promise<B1Plan[]> {\r\n const result = await authFetch<B1Plan[]>(`${API_BASE}/doing/plans/types/${planTypeId}`, auth);\r\n return result || [];\r\n}\r\n\r\nexport async function fetchVenueFeed(venueId: string): Promise<FeedVenueInterface | null> {\r\n try {\r\n const url = `${LESSONS_API_BASE}/venues/public/feed/${venueId}`;\r\n const response = await fetch(url, {\r\n method: 'GET',\r\n headers: { Accept: 'application/json' }\r\n });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport async function fetchArrangementKey(\r\n churchId: string,\r\n arrangementId: string\r\n): Promise<ArrangementKeyResponse | null> {\r\n try {\r\n const url = `${CONTENT_API_BASE}/arrangementKeys/presenter/${churchId}/${arrangementId}`;\r\n const response = await fetch(url, {\r\n method: 'GET',\r\n headers: { Accept: 'application/json' }\r\n });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n}\r\n","import { ContentItem, ContentFile, FeedVenueInterface, PlanPresentation, InstructionItem } from '../../interfaces';\r\nimport { detectMediaType } from '../../utils';\r\nimport { B1Ministry, B1PlanType, B1Plan, B1PlanItem, ArrangementKeyResponse } from './types';\r\nimport { fetchArrangementKey } from './api';\r\n\r\nexport function ministryToFolder(ministry: B1Ministry): ContentItem {\r\n return {\r\n type: 'folder' as const,\r\n id: ministry.id,\r\n title: ministry.name,\r\n image: ministry.photoUrl,\r\n providerData: {\r\n level: 'ministry',\r\n ministryId: ministry.id,\r\n churchId: ministry.churchId\r\n }\r\n };\r\n}\r\n\r\nexport function planTypeToFolder(planType: B1PlanType, ministryId: string): ContentItem {\r\n return {\r\n type: 'folder' as const,\r\n id: planType.id,\r\n title: planType.name,\r\n providerData: {\r\n level: 'planType',\r\n planTypeId: planType.id,\r\n ministryId: ministryId,\r\n churchId: planType.churchId\r\n }\r\n };\r\n}\r\n\r\nexport function planToFolder(plan: B1Plan): ContentItem {\r\n return {\r\n type: 'folder' as const,\r\n id: plan.id,\r\n title: plan.name,\r\n providerData: {\r\n isLeaf: true,\r\n level: 'plan',\r\n planId: plan.id,\r\n planTypeId: plan.planTypeId,\r\n ministryId: plan.ministryId,\r\n churchId: plan.churchId,\r\n serviceDate: plan.serviceDate,\r\n contentType: plan.contentType,\r\n contentId: plan.contentId\r\n }\r\n };\r\n}\r\n\r\nexport function sectionToFolder(section: B1PlanItem): ContentItem {\r\n return {\r\n type: 'folder' as const,\r\n id: section.id,\r\n title: section.label || 'Section',\r\n providerData: {\r\n level: 'section',\r\n itemType: 'section',\r\n description: section.description,\r\n seconds: section.seconds\r\n }\r\n };\r\n}\r\n\r\nexport function planItemToContentItem(\r\n item: B1PlanItem,\r\n venueId: string | undefined\r\n): ContentItem | null {\r\n const itemType = item.itemType;\r\n\r\n if (itemType === 'arrangementKey' && item.churchId && item.relatedId) {\r\n return {\r\n type: 'file' as const,\r\n id: item.id,\r\n title: item.label || 'Song',\r\n mediaType: 'image' as const,\r\n url: '',\r\n providerData: {\r\n itemType: 'arrangementKey',\r\n churchId: item.churchId,\r\n relatedId: item.relatedId,\r\n seconds: item.seconds\r\n }\r\n };\r\n }\r\n\r\n if ((itemType === 'lessonSection' || itemType === 'lessonAction' || itemType === 'lessonAddOn') && item.relatedId) {\r\n return {\r\n type: 'file' as const,\r\n id: item.id,\r\n title: item.label || 'Lesson Content',\r\n mediaType: 'video' as const,\r\n url: '',\r\n providerData: {\r\n itemType,\r\n relatedId: item.relatedId,\r\n venueId,\r\n seconds: item.seconds\r\n }\r\n };\r\n }\r\n\r\n if (itemType === 'item' || itemType === 'header') {\r\n return {\r\n type: 'file' as const,\r\n id: item.id,\r\n title: item.label || '',\r\n mediaType: 'image' as const,\r\n url: '',\r\n providerData: {\r\n itemType,\r\n description: item.description,\r\n seconds: item.seconds\r\n }\r\n };\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport async function planItemToPresentation(\r\n item: B1PlanItem,\r\n venueFeed: FeedVenueInterface | null\r\n): Promise<PlanPresentation | null> {\r\n const itemType = item.itemType;\r\n\r\n if (itemType === 'arrangementKey' && item.churchId && item.relatedId) {\r\n const songData = await fetchArrangementKey(item.churchId, item.relatedId);\r\n if (songData) {\r\n return arrangementToPresentation(item, songData);\r\n }\r\n }\r\n\r\n if ((itemType === 'lessonSection' || itemType === 'lessonAction' || itemType === 'lessonAddOn') && venueFeed) {\r\n const files = getFilesFromVenueFeed(venueFeed, itemType, item.relatedId);\r\n if (files.length > 0) {\r\n return {\r\n id: item.id,\r\n name: item.label || 'Lesson Content',\r\n actionType: itemType === 'lessonAddOn' ? 'add-on' : 'play',\r\n files\r\n };\r\n }\r\n }\r\n\r\n if (itemType === 'item' || itemType === 'header') {\r\n return {\r\n id: item.id,\r\n name: item.label || '',\r\n actionType: 'other',\r\n files: [],\r\n providerData: {\r\n itemType,\r\n description: item.description,\r\n seconds: item.seconds\r\n }\r\n } as PlanPresentation;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction arrangementToPresentation(item: B1PlanItem, songData: ArrangementKeyResponse): PlanPresentation {\r\n const title = songData.songDetail?.title || item.label || 'Song';\r\n return {\r\n id: item.id,\r\n name: title,\r\n actionType: 'other',\r\n files: [],\r\n providerData: {\r\n itemType: 'song',\r\n title,\r\n artist: songData.songDetail?.artist,\r\n lyrics: songData.arrangement?.lyrics,\r\n keySignature: songData.arrangementKey?.keySignature,\r\n arrangementName: songData.arrangement?.name,\r\n seconds: songData.songDetail?.seconds || item.seconds\r\n }\r\n } as PlanPresentation;\r\n}\r\n\r\nexport function getFilesFromVenueFeed(\r\n venueFeed: FeedVenueInterface,\r\n itemType: string,\r\n relatedId?: string\r\n): ContentFile[] {\r\n const files: ContentFile[] = [];\r\n\r\n if (!relatedId) return files;\r\n\r\n if (itemType === 'lessonSection') {\r\n for (const section of venueFeed.sections || []) {\r\n if (section.id === relatedId) {\r\n for (const action of section.actions || []) {\r\n const actionType = action.actionType?.toLowerCase();\r\n if (actionType === 'play' || actionType === 'add-on') {\r\n files.push(...convertFeedFiles(action.files || [], venueFeed.lessonImage));\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n } else if (itemType === 'lessonAction') {\r\n for (const section of venueFeed.sections || []) {\r\n for (const action of section.actions || []) {\r\n if (action.id === relatedId) {\r\n files.push(...convertFeedFiles(action.files || [], venueFeed.lessonImage));\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return files;\r\n}\r\n\r\nexport function convertFeedFiles(\r\n feedFiles: Array<{ id?: string; name?: string; url?: string; streamUrl?: string; seconds?: number; fileType?: string }>,\r\n thumbnailImage?: string\r\n): ContentFile[] {\r\n return feedFiles\r\n .filter(f => f.url)\r\n .map(f => ({\r\n type: 'file' as const,\r\n id: f.id || '',\r\n title: f.name || '',\r\n mediaType: detectMediaType(f.url || '', f.fileType),\r\n image: thumbnailImage,\r\n url: f.url || '',\r\n providerData: { seconds: f.seconds, streamUrl: f.streamUrl }\r\n }));\r\n}\r\n\r\nexport function planItemToInstruction(item: B1PlanItem): InstructionItem {\r\n return {\r\n id: item.id,\r\n itemType: item.itemType,\r\n relatedId: item.relatedId,\r\n label: item.label,\r\n description: item.description,\r\n seconds: item.seconds,\r\n children: item.children?.map(planItemToInstruction)\r\n };\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFolder, ContentFile, ProviderLogos, Plan, PlanSection, PlanPresentation, Instructions, ProviderCapabilities, DeviceAuthorizationResponse, DeviceFlowPollResult } from '../../interfaces';\r\nimport { ContentProvider } from '../../ContentProvider';\r\nimport { B1PlanItem } from './types';\r\nimport * as auth from './auth';\r\nimport { fetchMinistries, fetchPlanTypes, fetchPlans, fetchVenueFeed, API_BASE } from './api';\r\nimport { ministryToFolder, planTypeToFolder, planToFolder, planItemToPresentation, planItemToInstruction, getFilesFromVenueFeed } from './converters';\r\n\r\nexport class B1ChurchProvider extends ContentProvider {\r\n readonly id = 'b1church';\r\n readonly name = 'B1.Church';\r\n\r\n readonly logos: ProviderLogos = {\r\n light: 'https://b1.church/b1-church-logo.png',\r\n dark: 'https://b1.church/b1-church-logo.png'\r\n };\r\n\r\n readonly config: ContentProviderConfig = {\r\n id: 'b1church',\r\n name: 'B1.Church',\r\n apiBase: `${API_BASE}/doing`,\r\n oauthBase: `${API_BASE}/membership/oauth`,\r\n clientId: '',\r\n scopes: ['plans'],\r\n supportsDeviceFlow: true,\r\n deviceAuthEndpoint: '/device/authorize',\r\n endpoints: {\r\n planItems: (churchId: string, planId: string) => `/planItems/presenter/${churchId}/${planId}`\r\n }\r\n };\r\n\r\n private appBase = 'https://admin.b1.church';\r\n\r\n override requiresAuth(): boolean {\r\n return true;\r\n }\r\n\r\n override getCapabilities(): ProviderCapabilities {\r\n return {\r\n browse: true,\r\n presentations: true,\r\n playlist: true,\r\n instructions: true,\r\n expandedInstructions: true,\r\n mediaLicensing: false\r\n };\r\n }\r\n\r\n override async buildAuthUrl(_codeVerifier: string, redirectUri: string, state?: string): Promise<{ url: string; challengeMethod: string }> {\r\n return auth.buildB1AuthUrl(this.config, this.appBase, redirectUri, state);\r\n }\r\n\r\n async exchangeCodeForTokensWithSecret(code: string, redirectUri: string, clientSecret: string): Promise<ContentProviderAuthData | null> {\r\n return auth.exchangeCodeForTokensWithSecret(this.config, code, redirectUri, clientSecret);\r\n }\r\n\r\n async refreshTokenWithSecret(authData: ContentProviderAuthData, clientSecret: string): Promise<ContentProviderAuthData | null> {\r\n return auth.refreshTokenWithSecret(this.config, authData, clientSecret);\r\n }\r\n\r\n override async initiateDeviceFlow(): Promise<DeviceAuthorizationResponse | null> {\r\n return auth.initiateDeviceFlow(this.config);\r\n }\r\n\r\n override async pollDeviceFlowToken(deviceCode: string): Promise<DeviceFlowPollResult> {\r\n return auth.pollDeviceFlowToken(this.config, deviceCode);\r\n }\r\n\r\n async browse(folder?: ContentFolder | null, authData?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n if (!folder) {\r\n const ministries = await fetchMinistries(authData);\r\n return ministries.map(ministryToFolder);\r\n }\r\n\r\n const level = folder.providerData?.level;\r\n\r\n if (level === 'ministry') {\r\n const ministryId = folder.providerData?.ministryId as string;\r\n if (!ministryId) return [];\r\n const planTypes = await fetchPlanTypes(ministryId, authData);\r\n return planTypes.map(pt => planTypeToFolder(pt, ministryId));\r\n }\r\n\r\n if (level === 'planType') {\r\n const planTypeId = folder.providerData?.planTypeId as string;\r\n if (!planTypeId) return [];\r\n const plans = await fetchPlans(planTypeId, authData);\r\n return plans.map(planToFolder);\r\n }\r\n\r\n return [];\r\n }\r\n\r\n async getPresentations(folder: ContentFolder, authData?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const level = folder.providerData?.level;\r\n if (level !== 'plan') return null;\r\n\r\n const planId = folder.providerData?.planId as string;\r\n const churchId = folder.providerData?.churchId as string;\r\n const venueId = folder.providerData?.contentId as string | undefined;\r\n if (!planId || !churchId) return null;\r\n\r\n const pathFn = this.config.endpoints.planItems as (churchId: string, planId: string) => string;\r\n const planItems = await this.apiRequest<B1PlanItem[]>(pathFn(churchId, planId), authData);\r\n if (!planItems || !Array.isArray(planItems)) return null;\r\n\r\n const venueFeed = venueId ? await fetchVenueFeed(venueId) : null;\r\n\r\n const sections: PlanSection[] = [];\r\n const allFiles: ContentFile[] = [];\r\n\r\n for (const sectionItem of planItems) {\r\n const presentations: PlanPresentation[] = [];\r\n\r\n for (const child of sectionItem.children || []) {\r\n const presentation = await planItemToPresentation(child, venueFeed);\r\n if (presentation) {\r\n presentations.push(presentation);\r\n allFiles.push(...presentation.files);\r\n }\r\n }\r\n\r\n if (presentations.length > 0 || sectionItem.label) {\r\n sections.push({\r\n id: sectionItem.id,\r\n name: sectionItem.label || 'Section',\r\n presentations\r\n });\r\n }\r\n }\r\n\r\n return { id: planId, name: folder.title, sections, allFiles };\r\n }\r\n\r\n async getInstructions(folder: ContentFolder, authData?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const level = folder.providerData?.level;\r\n if (level !== 'plan') return null;\r\n\r\n const planId = folder.providerData?.planId as string;\r\n const churchId = folder.providerData?.churchId as string;\r\n if (!planId || !churchId) return null;\r\n\r\n const pathFn = this.config.endpoints.planItems as (churchId: string, planId: string) => string;\r\n const planItems = await this.apiRequest<B1PlanItem[]>(pathFn(churchId, planId), authData);\r\n if (!planItems || !Array.isArray(planItems)) return null;\r\n\r\n return {\r\n venueName: folder.title,\r\n items: planItems.map(planItemToInstruction)\r\n };\r\n }\r\n\r\n async getPlaylist(folder: ContentFolder, authData?: ContentProviderAuthData | null): Promise<ContentFile[]> {\r\n const level = folder.providerData?.level;\r\n if (level !== 'plan') return [];\r\n\r\n const planId = folder.providerData?.planId as string;\r\n const churchId = folder.providerData?.churchId as string;\r\n const venueId = folder.providerData?.contentId as string | undefined;\r\n if (!planId || !churchId) return [];\r\n\r\n const pathFn = this.config.endpoints.planItems as (churchId: string, planId: string) => string;\r\n const planItems = await this.apiRequest<B1PlanItem[]>(pathFn(churchId, planId), authData);\r\n if (!planItems || !Array.isArray(planItems)) return [];\r\n\r\n const venueFeed = venueId ? await fetchVenueFeed(venueId) : null;\r\n const files: ContentFile[] = [];\r\n\r\n for (const sectionItem of planItems) {\r\n for (const child of sectionItem.children || []) {\r\n const itemType = child.itemType;\r\n if ((itemType === 'lessonSection' || itemType === 'lessonAction' || itemType === 'lessonAddOn') && venueFeed) {\r\n const itemFiles = getFilesFromVenueFeed(venueFeed, itemType, child.relatedId);\r\n files.push(...itemFiles);\r\n }\r\n }\r\n }\r\n\r\n return files;\r\n }\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFolder, ContentFile, ProviderLogos, Plan, PlanSection, PlanPresentation, ProviderCapabilities } from '../interfaces';\r\nimport { ContentProvider } from '../ContentProvider';\r\nimport { detectMediaType } from '../utils';\r\n\r\ninterface PCOServiceType {\r\n id: string;\r\n type: string;\r\n attributes: {\r\n name: string;\r\n };\r\n}\r\n\r\ninterface PCOPlan {\r\n id: string;\r\n type: string;\r\n attributes: {\r\n title?: string;\r\n sort_date: string;\r\n created_at: string;\r\n items_count: number;\r\n };\r\n}\r\n\r\ninterface PCOPlanItem {\r\n id: string;\r\n type: string;\r\n attributes: {\r\n item_type: string;\r\n title?: string;\r\n description?: string;\r\n length?: number;\r\n };\r\n relationships?: {\r\n song?: { data?: { id: string } };\r\n arrangement?: { data?: { id: string } };\r\n };\r\n}\r\n\r\ninterface PCOSong {\r\n id: string;\r\n attributes: {\r\n title?: string;\r\n author?: string;\r\n copyright?: string;\r\n ccli_number?: string;\r\n };\r\n}\r\n\r\ninterface PCOArrangement {\r\n id: string;\r\n attributes: {\r\n name?: string;\r\n chord_chart_key?: string;\r\n bpm?: number;\r\n sequence?: string[];\r\n };\r\n}\r\n\r\ninterface PCOSection {\r\n label: string;\r\n lyrics: string;\r\n}\r\n\r\ninterface PCOAttachment {\r\n id: string;\r\n attributes: {\r\n filename: string;\r\n content_type?: string;\r\n url?: string;\r\n };\r\n}\r\n\r\nexport class PlanningCenterProvider extends ContentProvider {\r\n readonly id = 'planningcenter';\r\n readonly name = 'Planning Center';\r\n\r\n readonly logos: ProviderLogos = {\r\n light: 'https://www.planningcenter.com/icons/icon-512x512.png',\r\n dark: 'https://www.planningcenter.com/icons/icon-512x512.png'\r\n };\r\n\r\n // Planning Center uses OAuth 2.0 with PKCE (handled by base ContentProvider class)\r\n readonly config: ContentProviderConfig = {\r\n id: 'planningcenter',\r\n name: 'Planning Center',\r\n apiBase: 'https://api.planningcenteronline.com',\r\n oauthBase: 'https://api.planningcenteronline.com/oauth',\r\n clientId: '', // Consumer must provide client_id\r\n scopes: ['services'],\r\n endpoints: {\r\n serviceTypes: '/services/v2/service_types',\r\n plans: (serviceTypeId: string) => `/services/v2/service_types/${serviceTypeId}/plans`,\r\n planItems: (serviceTypeId: string, planId: string) => `/services/v2/service_types/${serviceTypeId}/plans/${planId}/items`,\r\n song: (itemId: string) => `/services/v2/songs/${itemId}`,\r\n arrangement: (songId: string, arrangementId: string) => `/services/v2/songs/${songId}/arrangements/${arrangementId}`,\r\n arrangementSections: (songId: string, arrangementId: string) => `/services/v2/songs/${songId}/arrangements/${arrangementId}/sections`,\r\n media: (mediaId: string) => `/services/v2/media/${mediaId}`,\r\n mediaAttachments: (mediaId: string) => `/services/v2/media/${mediaId}/attachments`\r\n }\r\n };\r\n\r\n private readonly ONE_WEEK_MS = 604800000;\r\n\r\n override requiresAuth(): boolean {\r\n return true;\r\n }\r\n\r\n override getCapabilities(): ProviderCapabilities {\r\n return {\r\n browse: true,\r\n presentations: true,\r\n playlist: false,\r\n instructions: false,\r\n expandedInstructions: false,\r\n mediaLicensing: false\r\n };\r\n }\r\n\r\n async browse(folder?: ContentFolder | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n if (!folder) {\r\n const response = await this.apiRequest<{ data: PCOServiceType[] }>(\r\n this.config.endpoints.serviceTypes as string,\r\n auth\r\n );\r\n\r\n if (!response?.data) return [];\r\n\r\n return response.data.map((serviceType) => ({\r\n type: 'folder' as const,\r\n id: serviceType.id,\r\n title: serviceType.attributes.name,\r\n providerData: {\r\n level: 'serviceType',\r\n serviceTypeId: serviceType.id\r\n }\r\n }));\r\n }\r\n\r\n const level = folder.providerData?.level;\r\n\r\n switch (level) {\r\n case 'serviceType':\r\n return this.getPlans(folder, auth);\r\n case 'plan':\r\n return this.getPlanItems(folder, auth);\r\n default:\r\n return [];\r\n }\r\n }\r\n\r\n private async getPlans(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const serviceTypeId = folder.providerData?.serviceTypeId as string;\r\n if (!serviceTypeId) return [];\r\n\r\n const pathFn = this.config.endpoints.plans as (id: string) => string;\r\n const response = await this.apiRequest<{ data: PCOPlan[] }>(\r\n `${pathFn(serviceTypeId)}?filter=future&order=sort_date`,\r\n auth\r\n );\r\n\r\n if (!response?.data) return [];\r\n\r\n const now = Date.now();\r\n const filteredPlans = response.data.filter((plan) => {\r\n if (plan.attributes.items_count === 0) return false;\r\n const planDate = new Date(plan.attributes.sort_date).getTime();\r\n return planDate < now + this.ONE_WEEK_MS;\r\n });\r\n\r\n return filteredPlans.map((plan) => ({\r\n type: 'folder' as const,\r\n id: plan.id,\r\n title: plan.attributes.title || this.formatDate(plan.attributes.sort_date),\r\n providerData: {\r\n level: 'plan',\r\n serviceTypeId,\r\n planId: plan.id,\r\n sortDate: plan.attributes.sort_date\r\n }\r\n }));\r\n }\r\n\r\n private async getPlanItems(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const serviceTypeId = folder.providerData?.serviceTypeId as string;\r\n const planId = folder.providerData?.planId as string;\r\n if (!serviceTypeId || !planId) return [];\r\n\r\n const pathFn = this.config.endpoints.planItems as (stId: string, pId: string) => string;\r\n const response = await this.apiRequest<{ data: PCOPlanItem[] }>(\r\n `${pathFn(serviceTypeId, planId)}?per_page=100`,\r\n auth\r\n );\r\n\r\n if (!response?.data) return [];\r\n\r\n return response.data.map((item) => ({\r\n type: 'file' as const,\r\n id: item.id,\r\n title: item.attributes.title || '',\r\n mediaType: 'image' as const,\r\n url: '',\r\n providerData: {\r\n itemType: item.attributes.item_type,\r\n description: item.attributes.description,\r\n length: item.attributes.length,\r\n songId: item.relationships?.song?.data?.id,\r\n arrangementId: item.relationships?.arrangement?.data?.id\r\n }\r\n }));\r\n }\r\n\r\n async getPresentations(folder: ContentFolder, auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const level = folder.providerData?.level;\r\n if (level !== 'plan') return null;\r\n\r\n const serviceTypeId = folder.providerData?.serviceTypeId as string;\r\n const planId = folder.providerData?.planId as string;\r\n if (!serviceTypeId || !planId) return null;\r\n\r\n const pathFn = this.config.endpoints.planItems as (stId: string, pId: string) => string;\r\n const response = await this.apiRequest<{ data: PCOPlanItem[] }>(\r\n `${pathFn(serviceTypeId, planId)}?per_page=100`,\r\n auth\r\n );\r\n\r\n if (!response?.data) return null;\r\n\r\n const sections: PlanSection[] = [];\r\n const allFiles: ContentFile[] = [];\r\n let currentSection: PlanSection | null = null;\r\n\r\n for (const item of response.data) {\r\n const itemType = item.attributes.item_type;\r\n\r\n if (itemType === 'header') {\r\n if (currentSection && currentSection.presentations.length > 0) {\r\n sections.push(currentSection);\r\n }\r\n currentSection = {\r\n id: item.id,\r\n name: item.attributes.title || 'Section',\r\n presentations: []\r\n };\r\n continue;\r\n }\r\n\r\n if (!currentSection) {\r\n currentSection = {\r\n id: `default-${planId}`,\r\n name: 'Service',\r\n presentations: []\r\n };\r\n }\r\n\r\n const presentation = await this.convertToPresentation(item, auth);\r\n if (presentation) {\r\n currentSection.presentations.push(presentation);\r\n allFiles.push(...presentation.files);\r\n }\r\n }\r\n\r\n if (currentSection && currentSection.presentations.length > 0) {\r\n sections.push(currentSection);\r\n }\r\n\r\n return {\r\n id: planId,\r\n name: folder.title,\r\n sections,\r\n allFiles\r\n };\r\n }\r\n\r\n private async convertToPresentation(\r\n item: PCOPlanItem,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<PlanPresentation | null> {\r\n const itemType = item.attributes.item_type;\r\n\r\n if (itemType === 'song') {\r\n return this.convertSongToPresentation(item, auth);\r\n }\r\n\r\n if (itemType === 'media') {\r\n return this.convertMediaToPresentation(item, auth);\r\n }\r\n\r\n if (itemType === 'item') {\r\n return {\r\n id: item.id,\r\n name: item.attributes.title || '',\r\n actionType: 'other',\r\n files: [],\r\n providerData: {\r\n itemType: 'item',\r\n description: item.attributes.description,\r\n length: item.attributes.length\r\n }\r\n } as PlanPresentation;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private async convertSongToPresentation(\r\n item: PCOPlanItem,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<PlanPresentation | null> {\r\n const songId = item.relationships?.song?.data?.id;\r\n const arrangementId = item.relationships?.arrangement?.data?.id;\r\n\r\n if (!songId) {\r\n return {\r\n id: item.id,\r\n name: item.attributes.title || 'Song',\r\n actionType: 'other',\r\n files: [],\r\n providerData: { itemType: 'song' }\r\n } as PlanPresentation;\r\n }\r\n\r\n const songFn = this.config.endpoints.song as (id: string) => string;\r\n const songResponse = await this.apiRequest<{ data: PCOSong }>(songFn(songId), auth);\r\n\r\n let arrangement: PCOArrangement | null = null;\r\n let sections: PCOSection[] = [];\r\n\r\n if (arrangementId) {\r\n const arrangementFn = this.config.endpoints.arrangement as (sId: string, aId: string) => string;\r\n const arrangementResponse = await this.apiRequest<{ data: PCOArrangement }>(\r\n arrangementFn(songId, arrangementId),\r\n auth\r\n );\r\n arrangement = arrangementResponse?.data || null;\r\n\r\n const sectionsFn = this.config.endpoints.arrangementSections as (sId: string, aId: string) => string;\r\n const sectionsResponse = await this.apiRequest<{ data: { attributes: { sections: PCOSection[] } }[] }>(\r\n sectionsFn(songId, arrangementId),\r\n auth\r\n );\r\n sections = sectionsResponse?.data?.[0]?.attributes?.sections || [];\r\n }\r\n\r\n const song = songResponse?.data;\r\n const title = song?.attributes?.title || item.attributes.title || 'Song';\r\n\r\n return {\r\n id: item.id,\r\n name: title,\r\n actionType: 'other',\r\n files: [],\r\n providerData: {\r\n itemType: 'song',\r\n title,\r\n author: song?.attributes?.author,\r\n copyright: song?.attributes?.copyright,\r\n ccliNumber: song?.attributes?.ccli_number,\r\n arrangementName: arrangement?.attributes?.name,\r\n keySignature: arrangement?.attributes?.chord_chart_key,\r\n bpm: arrangement?.attributes?.bpm,\r\n sequence: arrangement?.attributes?.sequence,\r\n sections: sections.map(s => ({ label: s.label, lyrics: s.lyrics })),\r\n length: item.attributes.length\r\n }\r\n } as PlanPresentation;\r\n }\r\n\r\n private async convertMediaToPresentation(\r\n item: PCOPlanItem,\r\n auth?: ContentProviderAuthData | null\r\n ): Promise<PlanPresentation | null> {\r\n const files: ContentFile[] = [];\r\n\r\n const mediaFn = this.config.endpoints.media as (id: string) => string;\r\n const mediaAttachmentsFn = this.config.endpoints.mediaAttachments as (id: string) => string;\r\n\r\n const mediaResponse = await this.apiRequest<{ data: { id: string; attributes: { title?: string; length?: number } } }>(\r\n mediaFn(item.id),\r\n auth\r\n );\r\n\r\n if (mediaResponse?.data) {\r\n const attachmentsResponse = await this.apiRequest<{ data: PCOAttachment[] }>(\r\n mediaAttachmentsFn(mediaResponse.data.id),\r\n auth\r\n );\r\n\r\n for (const attachment of attachmentsResponse?.data || []) {\r\n const url = attachment.attributes.url;\r\n if (!url) continue;\r\n\r\n const contentType = attachment.attributes.content_type;\r\n const explicitType = contentType?.startsWith('video/') ? 'video' : undefined;\r\n\r\n files.push({\r\n type: 'file',\r\n id: attachment.id,\r\n title: attachment.attributes.filename,\r\n mediaType: detectMediaType(url, explicitType),\r\n url\r\n });\r\n }\r\n }\r\n\r\n return {\r\n id: item.id,\r\n name: item.attributes.title || 'Media',\r\n actionType: 'play',\r\n files,\r\n providerData: {\r\n itemType: 'media',\r\n length: item.attributes.length\r\n }\r\n } as PlanPresentation;\r\n }\r\n\r\n private formatDate(dateString: string): string {\r\n const date = new Date(dateString);\r\n return date.toISOString().slice(0, 10);\r\n }\r\n}\r\n","{\n \"collections\": [\n {\n \"name\": \"Old Testament Overviews\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/old-testament-overviews/tr:q-65,w-300/ot-overviews_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-6Lj53xd8\",\n \"title\": \"Tanak Old Testament\",\n \"filename\": \"tanak-old-testament\",\n \"muxPlaybackId\": \"6Lj53xd8H9NzgbpoKdSezAy7LTGmYEttA5h1xBHcgQw\",\n \"videoUrl\": \"https://stream.mux.com/6Lj53xd8H9NzgbpoKdSezAy7LTGmYEttA5h1xBHcgQw/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/TaNaKOTovw_FNL.jpg\"\n },\n {\n \"id\": \"bp-wqRoO23V\",\n \"title\": \"Genesis 1 11\",\n \"filename\": \"genesis-1-11\",\n \"muxPlaybackId\": \"wqRoO23V1icFCGIVSz13nEKs00760200UnXO9ueJl02iLgE\",\n \"videoUrl\": \"https://stream.mux.com/wqRoO23V1icFCGIVSz13nEKs00760200UnXO9ueJl02iLgE/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/01-02%20Genesis_FNL.jpg\"\n },\n {\n \"id\": \"bp-z15mG00w\",\n \"title\": \"Genesis 12 50\",\n \"filename\": \"genesis-12-50\",\n \"muxPlaybackId\": \"z15mG00wREQicM00azwBVwDGIvH7rXBZ1fjl9q6tTQGM00\",\n \"videoUrl\": \"https://stream.mux.com/z15mG00wREQicM00azwBVwDGIvH7rXBZ1fjl9q6tTQGM00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/01-02%20Genesis_FNL.jpg\"\n },\n {\n \"id\": \"bp-LNqUHmhG\",\n \"title\": \"Exodus 1 18\",\n \"filename\": \"exodus-1-18\",\n \"muxPlaybackId\": \"LNqUHmhGOmCmqjQTZcIphfwS3eVJK00wieQ6aQMaGVxw\",\n \"videoUrl\": \"https://stream.mux.com/LNqUHmhGOmCmqjQTZcIphfwS3eVJK00wieQ6aQMaGVxw/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/03-04_Exodus_art_FNL.jpg\"\n },\n {\n \"id\": \"bp-HklRATIf\",\n \"title\": \"Exodus 19 40\",\n \"filename\": \"exodus-19-40\",\n \"muxPlaybackId\": \"HklRATIfa01ZdmDywyhA81r5q00XXNqU1HbwjUxM01mo01U\",\n \"videoUrl\": \"https://stream.mux.com/HklRATIfa01ZdmDywyhA81r5q00XXNqU1HbwjUxM01mo01U/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/03-04_Exodus_art_FNL.jpg\"\n },\n {\n \"id\": \"bp-7TNQ5NOp\",\n \"title\": \"Leviticus\",\n \"filename\": \"leviticus\",\n \"muxPlaybackId\": \"7TNQ5NOpg00rXMM3qJ6kJRGPS93daQEIp00w61Zt68Wns\",\n \"videoUrl\": \"https://stream.mux.com/7TNQ5NOpg00rXMM3qJ6kJRGPS93daQEIp00w61Zt68Wns/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/05-Leviticus-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-n16pUwPU\",\n \"title\": \"Numbers\",\n \"filename\": \"numbers\",\n \"muxPlaybackId\": \"n16pUwPUNbwUikVezsGVWrS8JE7NbyYHX8gbb01f901IA\",\n \"videoUrl\": \"https://stream.mux.com/n16pUwPUNbwUikVezsGVWrS8JE7NbyYHX8gbb01f901IA/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/06-Numbers-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-EHvrj2Mv\",\n \"title\": \"Deuteronomy\",\n \"filename\": \"deuteronomy\",\n \"muxPlaybackId\": \"EHvrj2Mv01jx38OtNfd01fAnsaRn1dGSDDSs74TPA14jY\",\n \"videoUrl\": \"https://stream.mux.com/EHvrj2Mv01jx38OtNfd01fAnsaRn1dGSDDSs74TPA14jY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/07-Deuteronomy-FNL.jpg\"\n },\n {\n \"id\": \"bp-HujTkYPH\",\n \"title\": \"Joshua\",\n \"filename\": \"joshua\",\n \"muxPlaybackId\": \"HujTkYPHfobXrlyuGOU6Yh1VHUZo4xhXORgPH5SFd9g\",\n \"videoUrl\": \"https://stream.mux.com/HujTkYPHfobXrlyuGOU6Yh1VHUZo4xhXORgPH5SFd9g/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/08-Joshua-FNL.jpg\"\n },\n {\n \"id\": \"bp-Otbyel01\",\n \"title\": \"Judges\",\n \"filename\": \"judges\",\n \"muxPlaybackId\": \"Otbyel01cL7r8DeqXfQnl202QrZnqliftejHSB00wKAfXE\",\n \"videoUrl\": \"https://stream.mux.com/Otbyel01cL7r8DeqXfQnl202QrZnqliftejHSB00wKAfXE/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/09-Judges_FNL.jpg\"\n },\n {\n \"id\": \"bp-iqZx3WUm\",\n \"title\": \"Ruth\",\n \"filename\": \"ruth\",\n \"muxPlaybackId\": \"iqZx3WUmJn9b01DVAv8TEFmmCOkww01SLsQAinnLdTPSo\",\n \"videoUrl\": \"https://stream.mux.com/iqZx3WUmJn9b01DVAv8TEFmmCOkww01SLsQAinnLdTPSo/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/10%20Ruth%20FNL.jpg\"\n },\n {\n \"id\": \"bp-Zm6vrOXs\",\n \"title\": \"1 Samuel\",\n \"filename\": \"1-samuel\",\n \"muxPlaybackId\": \"Zm6vrOXsGg7deyrc00nCM4iF02BUFKii004ZtCcCjkSFY00\",\n \"videoUrl\": \"https://stream.mux.com/Zm6vrOXsGg7deyrc00nCM4iF02BUFKii004ZtCcCjkSFY00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/11-12-Samuel-FNL.jpg\"\n },\n {\n \"id\": \"bp-T1AiFIWA\",\n \"title\": \"2 Samuel\",\n \"filename\": \"2-samuel\",\n \"muxPlaybackId\": \"T1AiFIWA7i8CaCt7ogx3XOxVarCvMtz1lwh8xGMFH01A\",\n \"videoUrl\": \"https://stream.mux.com/T1AiFIWA7i8CaCt7ogx3XOxVarCvMtz1lwh8xGMFH01A/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/11-12-Samuel-FNL.jpg\"\n },\n {\n \"id\": \"bp-Blf01ojE\",\n \"title\": \"1 And 2 Kings\",\n \"filename\": \"1-and-2-kings\",\n \"muxPlaybackId\": \"Blf01ojENAUfAtaGs3RLvNVuxmiv14i00vMTaQEAP00SkI\",\n \"videoUrl\": \"https://stream.mux.com/Blf01ojENAUfAtaGs3RLvNVuxmiv14i00vMTaQEAP00SkI/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/13-14-Kings-FNL.jpg\"\n },\n {\n \"id\": \"bp-K5mL016L\",\n \"title\": \"Ezra Nehemiah\",\n \"filename\": \"ezra-nehemiah\",\n \"muxPlaybackId\": \"K5mL016L7dWCYRjILrMYImIFbd8TgWRjrFFZ73Pfhd9E\",\n \"videoUrl\": \"https://stream.mux.com/K5mL016L7dWCYRjILrMYImIFbd8TgWRjrFFZ73Pfhd9E/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/15-Ezra-Nehemiah-FNL.jpg\"\n },\n {\n \"id\": \"bp-LfMTBfZz\",\n \"title\": \"Esther\",\n \"filename\": \"esther\",\n \"muxPlaybackId\": \"LfMTBfZzMmcCZFiRPCuDWc5gKFARKURCjqOpTkxufsg\",\n \"videoUrl\": \"https://stream.mux.com/LfMTBfZzMmcCZFiRPCuDWc5gKFARKURCjqOpTkxufsg/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/16-Esther-FNL.jpg\"\n },\n {\n \"id\": \"bp-V7uvmqQX\",\n \"title\": \"Job\",\n \"filename\": \"job\",\n \"muxPlaybackId\": \"V7uvmqQX9JJmMlibPrFQL4MXQnMFTlIOyrHPoGV4Eds\",\n \"videoUrl\": \"https://stream.mux.com/V7uvmqQX9JJmMlibPrFQL4MXQnMFTlIOyrHPoGV4Eds/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/17-Job-FNL.jpg\"\n },\n {\n \"id\": \"bp-WL00639k\",\n \"title\": \"Psalms\",\n \"filename\": \"psalms\",\n \"muxPlaybackId\": \"WL00639k024I00n8nVdrpd6GyyscWpuji02f1co4pph8vu00\",\n \"videoUrl\": \"https://stream.mux.com/WL00639k024I00n8nVdrpd6GyyscWpuji02f1co4pph8vu00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/18-Psalms-FNL.jpg\"\n },\n {\n \"id\": \"bp-00FFIKKv\",\n \"title\": \"Proverbs\",\n \"filename\": \"proverbs\",\n \"muxPlaybackId\": \"00FFIKKvk8ijn02jkZCaRdVenh4MNYlg42Mb37qSLc6YQ\",\n \"videoUrl\": \"https://stream.mux.com/00FFIKKvk8ijn02jkZCaRdVenh4MNYlg42Mb37qSLc6YQ/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/19-Proverbs-FNL.jpg\"\n },\n {\n \"id\": \"bp-1IKsgT01\",\n \"title\": \"Ecclesiastes\",\n \"filename\": \"ecclesiastes\",\n \"muxPlaybackId\": \"1IKsgT01kgxw5kA4QunirAXk01hKMU02n1AX1J2YVbrQmA\",\n \"videoUrl\": \"https://stream.mux.com/1IKsgT01kgxw5kA4QunirAXk01hKMU02n1AX1J2YVbrQmA/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/20_Ecclesiastes.jpg\"\n },\n {\n \"id\": \"bp-fwB6nQFG\",\n \"title\": \"Song Of Songs\",\n \"filename\": \"song-of-songs\",\n \"muxPlaybackId\": \"fwB6nQFG3YWwUU01fZ3SV572jYz1TcL102v75RuIJ00IHQ\",\n \"videoUrl\": \"https://stream.mux.com/fwB6nQFG3YWwUU01fZ3SV572jYz1TcL102v75RuIJ00IHQ/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/21-Song-of-Songs-FNL.jpg\"\n },\n {\n \"id\": \"bp-8eEAqV5u\",\n \"title\": \"Isaiah 1 39\",\n \"filename\": \"isaiah-1-39\",\n \"muxPlaybackId\": \"8eEAqV5uDN8HC00Ma4x4X1Qh91eqLY4ws00BAZ02cdFQ100\",\n \"videoUrl\": \"https://stream.mux.com/8eEAqV5uDN8HC00Ma4x4X1Qh91eqLY4ws00BAZ02cdFQ100/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/22-23-Isaiah-FNL.jpg\"\n },\n {\n \"id\": \"bp-4eHLEEp0\",\n \"title\": \"Isaiah 40 66\",\n \"filename\": \"isaiah-40-66\",\n \"muxPlaybackId\": \"4eHLEEp01WP2ZRZ502NXjBOZZP6BkrH5vEZgqvKIcV00IM\",\n \"videoUrl\": \"https://stream.mux.com/4eHLEEp01WP2ZRZ502NXjBOZZP6BkrH5vEZgqvKIcV00IM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/22-23-Isaiah-FNL.jpg\"\n },\n {\n \"id\": \"bp-jz7SoAfl\",\n \"title\": \"Jeremiah\",\n \"filename\": \"jeremiah\",\n \"muxPlaybackId\": \"jz7SoAfl01jEdU3nojIh9FSgR5wxxYbjK3T6BhJgwTMU\",\n \"videoUrl\": \"https://stream.mux.com/jz7SoAfl01jEdU3nojIh9FSgR5wxxYbjK3T6BhJgwTMU/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/24_Jeremiah_hq.jpg\"\n },\n {\n \"id\": \"bp-23QyuBJV\",\n \"title\": \"Lamentations\",\n \"filename\": \"lamentations\",\n \"muxPlaybackId\": \"23QyuBJVJca17RnoITUJdLUEzwuISerAfOZiHEEyGD4\",\n \"videoUrl\": \"https://stream.mux.com/23QyuBJVJca17RnoITUJdLUEzwuISerAfOZiHEEyGD4/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/25-Lamentations-FNL.jpg\"\n },\n {\n \"id\": \"bp-S5xIHejl\",\n \"title\": \"Ezekiel 1 33\",\n \"filename\": \"ezekiel-1-33\",\n \"muxPlaybackId\": \"S5xIHejldSKMcnY3eyqlrozVjoZAhsIIdIxvHO701uWY\",\n \"videoUrl\": \"https://stream.mux.com/S5xIHejldSKMcnY3eyqlrozVjoZAhsIIdIxvHO701uWY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/26-27-Ezekiel-FNL.jpg\"\n },\n {\n \"id\": \"bp-Js945Dhi\",\n \"title\": \"Ezekiel 34 48\",\n \"filename\": \"ezekiel-34-48\",\n \"muxPlaybackId\": \"Js945DhitoDwD2kF9VVBc69FWr02ZRPL4V8zSnBVUe34\",\n \"videoUrl\": \"https://stream.mux.com/Js945DhitoDwD2kF9VVBc69FWr02ZRPL4V8zSnBVUe34/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/26-27-Ezekiel-FNL.jpg\"\n },\n {\n \"id\": \"bp-O00snPn0\",\n \"title\": \"Daniel\",\n \"filename\": \"daniel\",\n \"muxPlaybackId\": \"O00snPn01lnnfWV01p019xE9NNUni6wD5wO8b1KwZNScJ5s\",\n \"videoUrl\": \"https://stream.mux.com/O00snPn01lnnfWV01p019xE9NNUni6wD5wO8b1KwZNScJ5s/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/28-Daniel-FNL.jpg\"\n },\n {\n \"id\": \"bp-F00pcpKl\",\n \"title\": \"Hosea\",\n \"filename\": \"hosea\",\n \"muxPlaybackId\": \"F00pcpKlLEtFAwunZDoTSZKc01oPlRNz7YgCSNrLwidVQ\",\n \"videoUrl\": \"https://stream.mux.com/F00pcpKlLEtFAwunZDoTSZKc01oPlRNz7YgCSNrLwidVQ/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/29-Hosea_FNL.jpg\"\n },\n {\n \"id\": \"bp-cnErnF3I\",\n \"title\": \"Joel\",\n \"filename\": \"joel\",\n \"muxPlaybackId\": \"cnErnF3I4ZBrO8hX54U55HC5Qbx7d01rfpPXYxEHi00lE\",\n \"videoUrl\": \"https://stream.mux.com/cnErnF3I4ZBrO8hX54U55HC5Qbx7d01rfpPXYxEHi00lE/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/30-Joel-FNL.jpg\"\n },\n {\n \"id\": \"bp-MntqpD8n\",\n \"title\": \"Amos\",\n \"filename\": \"amos\",\n \"muxPlaybackId\": \"MntqpD8nPSJPa9ggfjOoMcth2PoZzbcezAJNCqLSWKs\",\n \"videoUrl\": \"https://stream.mux.com/MntqpD8nPSJPa9ggfjOoMcth2PoZzbcezAJNCqLSWKs/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/31-Amos-FNL.jpg\"\n },\n {\n \"id\": \"bp-e54eYhAN\",\n \"title\": \"Obadiah\",\n \"filename\": \"obadiah\",\n \"muxPlaybackId\": \"e54eYhANW2he2lipAqw027I02Ag5LLh7lCMIfQbGBgdTQ\",\n \"videoUrl\": \"https://stream.mux.com/e54eYhANW2he2lipAqw027I02Ag5LLh7lCMIfQbGBgdTQ/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/32-Obadiah-FNL.jpg\"\n },\n {\n \"id\": \"bp-72VJz01n\",\n \"title\": \"Jonah\",\n \"filename\": \"jonah\",\n \"muxPlaybackId\": \"72VJz01n9FdX01Mq02GYfH8FWrCfwsTQ1rjZbFuXNdtAoM\",\n \"videoUrl\": \"https://stream.mux.com/72VJz01n9FdX01Mq02GYfH8FWrCfwsTQ1rjZbFuXNdtAoM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/33-Jonah-FNL.jpg\"\n },\n {\n \"id\": \"bp-sQ4TgNlm\",\n \"title\": \"Micah\",\n \"filename\": \"micah\",\n \"muxPlaybackId\": \"sQ4TgNlm4nGKVrWvY00reKgjlqUM5f9S2BWIlUwv3hXM\",\n \"videoUrl\": \"https://stream.mux.com/sQ4TgNlm4nGKVrWvY00reKgjlqUM5f9S2BWIlUwv3hXM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/34-Micah-FNL.jpg\"\n },\n {\n \"id\": \"bp-wbjRIFZB\",\n \"title\": \"Nahum\",\n \"filename\": \"nahum\",\n \"muxPlaybackId\": \"wbjRIFZBq58kWa42z01019dpc6LMdnCjsoKLLRMgwTNHM\",\n \"videoUrl\": \"https://stream.mux.com/wbjRIFZBq58kWa42z01019dpc6LMdnCjsoKLLRMgwTNHM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/35-Nahum-FNL.jpg\"\n },\n {\n \"id\": \"bp-pTt2bB00\",\n \"title\": \"Habakkuk\",\n \"filename\": \"habakkuk\",\n \"muxPlaybackId\": \"pTt2bB00yyDfm5yxGJGWeVf727oKGDaGpUr1ejIgzgQ4\",\n \"videoUrl\": \"https://stream.mux.com/pTt2bB00yyDfm5yxGJGWeVf727oKGDaGpUr1ejIgzgQ4/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/36-Habakkuk-FNL.jpg\"\n },\n {\n \"id\": \"bp-kjAdtqF0\",\n \"title\": \"Zephaniah\",\n \"filename\": \"zephaniah\",\n \"muxPlaybackId\": \"kjAdtqF00isi8bDgSxUv2ddIzmjrUKY3u9mS4hCaPyd00\",\n \"videoUrl\": \"https://stream.mux.com/kjAdtqF00isi8bDgSxUv2ddIzmjrUKY3u9mS4hCaPyd00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/37-Zephaniah-FNL.jpg\"\n },\n {\n \"id\": \"bp-pZRi77eK\",\n \"title\": \"Haggai\",\n \"filename\": \"haggai\",\n \"muxPlaybackId\": \"pZRi77eK9R8MdBGDyC02r7MHTCMMg00gKAcZfC6q7DtEs\",\n \"videoUrl\": \"https://stream.mux.com/pZRi77eK9R8MdBGDyC02r7MHTCMMg00gKAcZfC6q7DtEs/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/38-Haggai-FNL.jpg\"\n },\n {\n \"id\": \"bp-J2Vrrtht\",\n \"title\": \"Zechariah\",\n \"filename\": \"zechariah\",\n \"muxPlaybackId\": \"J2VrrthtfMUEhNLNWIvdst9ovEsCBoAwC00JbS01JCBC8\",\n \"videoUrl\": \"https://stream.mux.com/J2VrrthtfMUEhNLNWIvdst9ovEsCBoAwC00JbS01JCBC8/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/39-Zechariah-FNL.jpg\"\n },\n {\n \"id\": \"bp-qsffszig\",\n \"title\": \"Malachi\",\n \"filename\": \"malachi\",\n \"muxPlaybackId\": \"qsffsziguotrr00hG6fmDFt3qwbnhHny5GmQVKxtyc00I\",\n \"videoUrl\": \"https://stream.mux.com/qsffsziguotrr00hG6fmDFt3qwbnhHny5GmQVKxtyc00I/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/40-Malachi-FNL.jpg\"\n },\n {\n \"id\": \"bp-k02iIOIA\",\n \"title\": \"1 And 2 Chronicles\",\n \"filename\": \"1-and-2-chronicles\",\n \"muxPlaybackId\": \"k02iIOIASBRpdsdZX762jRd015pOGZHM91qQVPvys7iJo\",\n \"videoUrl\": \"https://stream.mux.com/k02iIOIASBRpdsdZX762jRd015pOGZHM91qQVPvys7iJo/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/41-Chronicles-FNL.jpg\"\n },\n {\n \"id\": \"bp-WhAb01S5\",\n \"title\": \"The Exodus Way\",\n \"filename\": \"the-exodus-way\",\n \"muxPlaybackId\": \"WhAb01S5TRkjikqlIuQ00ajVRVQuYuYVikJvbeKwIj00SI\",\n \"videoUrl\": \"https://stream.mux.com/WhAb01S5TRkjikqlIuQ00ajVRVQuYuYVikJvbeKwIj00SI/high.mp4\"\n },\n {\n \"id\": \"bp-BoSAqDcS\",\n \"title\": \"Matthew 533 37 Oaths And Truth Telling\",\n \"filename\": \"matthew-533-37-oaths-and-truth-telling\",\n \"muxPlaybackId\": \"BoSAqDcSG01h6018CZ3mpq6W1M2pbJrTJNYtMdzUrf8qk\",\n \"videoUrl\": \"https://stream.mux.com/BoSAqDcSG01h6018CZ3mpq6W1M2pbJrTJNYtMdzUrf8qk/high.mp4\"\n },\n {\n \"id\": \"bp-fIOh5zHG\",\n \"title\": \"The Book Of Psalms\",\n \"filename\": \"the-book-of-psalms\",\n \"muxPlaybackId\": \"fIOh5zHGXmLU025yMRp6PmRu8wTPNpRaZQNyvKWVHwCw\",\n \"videoUrl\": \"https://stream.mux.com/fIOh5zHGXmLU025yMRp6PmRu8wTPNpRaZQNyvKWVHwCw/high.mp4\"\n },\n {\n \"id\": \"bp-KIXyrg7F\",\n \"title\": \"Genesis 1\",\n \"filename\": \"genesis-1\",\n \"muxPlaybackId\": \"KIXyrg7FpKKo4u02SQIHkrcEHSSlfUb53GikjdU6wEMQ\",\n \"videoUrl\": \"https://stream.mux.com/KIXyrg7FpKKo4u02SQIHkrcEHSSlfUb53GikjdU6wEMQ/high.mp4\"\n },\n {\n \"id\": \"bp-7G9K01HV\",\n \"title\": \"Psalm 8\",\n \"filename\": \"psalm-8\",\n \"muxPlaybackId\": \"7G9K01HVO01rADY2PePj00bq00Q7TDznumUysbcf1OFHKAE\",\n \"videoUrl\": \"https://stream.mux.com/7G9K01HVO01rADY2PePj00bq00Q7TDznumUysbcf1OFHKAE/high.mp4\"\n },\n {\n \"id\": \"bp-FOS9qI6k\",\n \"title\": \"Proverbs 8\",\n \"filename\": \"proverbs-8\",\n \"muxPlaybackId\": \"FOS9qI6k1ww5AQOkGTer4F2EBZPqHaefFfhej9jEQlg\",\n \"videoUrl\": \"https://stream.mux.com/FOS9qI6k1ww5AQOkGTer4F2EBZPqHaefFfhej9jEQlg/high.mp4\"\n },\n {\n \"id\": \"bp-YiQGFteW\",\n \"title\": \"Psalm 148\",\n \"filename\": \"psalm-148\",\n \"muxPlaybackId\": \"YiQGFteW7kzkFHcV01EwCDhbYWdp59UGfFuVUFzTW02ro\",\n \"videoUrl\": \"https://stream.mux.com/YiQGFteW7kzkFHcV01EwCDhbYWdp59UGfFuVUFzTW02ro/high.mp4\"\n },\n {\n \"id\": \"bp-uT027Uvy\",\n \"title\": \"Visual Commentary Exodus 346 7\",\n \"filename\": \"visual-commentary-exodus-346-7\",\n \"muxPlaybackId\": \"uT027UvyOqrajQXVB00DVN73NYfkwm9PO7nbLkrbXYkMI\",\n \"videoUrl\": \"https://stream.mux.com/uT027UvyOqrajQXVB00DVN73NYfkwm9PO7nbLkrbXYkMI/high.mp4\"\n },\n {\n \"id\": \"bp-hjCtXGeU\",\n \"title\": \"Proverbs\",\n \"filename\": \"proverbs\",\n \"muxPlaybackId\": \"hjCtXGeUZVMcnJKtoYZsCqcvIE6C8WKIaiCt9Vyj1Js\",\n \"videoUrl\": \"https://stream.mux.com/hjCtXGeUZVMcnJKtoYZsCqcvIE6C8WKIaiCt9Vyj1Js/high.mp4\"\n },\n {\n \"id\": \"bp-qtqlAWuo\",\n \"title\": \"Ecclesiastes\",\n \"filename\": \"ecclesiastes\",\n \"muxPlaybackId\": \"qtqlAWuoXV2Z2NukEu3ftOLWMJdqgMGthj9bZPNM6wU\",\n \"videoUrl\": \"https://stream.mux.com/qtqlAWuoXV2Z2NukEu3ftOLWMJdqgMGthj9bZPNM6wU/high.mp4\"\n },\n {\n \"id\": \"bp-Mij9SzLS\",\n \"title\": \"Job\",\n \"filename\": \"job\",\n \"muxPlaybackId\": \"Mij9SzLS4y00XFHLoBw017zkc9MjaXP3nlEC01oBkPeLns\",\n \"videoUrl\": \"https://stream.mux.com/Mij9SzLS4y00XFHLoBw017zkc9MjaXP3nlEC01oBkPeLns/high.mp4\"\n },\n {\n \"id\": \"bp-Jorcqh9B\",\n \"title\": \"Genesis 1 11\",\n \"filename\": \"genesis-1-11\",\n \"muxPlaybackId\": \"Jorcqh9B385AM1gu3bFRRfrKPSM4xRkpZwlDBAs00WMI\",\n \"videoUrl\": \"https://stream.mux.com/Jorcqh9B385AM1gu3bFRRfrKPSM4xRkpZwlDBAs00WMI/high.mp4\"\n },\n {\n \"id\": \"bp-TkYDFrCh\",\n \"title\": \"Genesis 12 50\",\n \"filename\": \"genesis-12-50\",\n \"muxPlaybackId\": \"TkYDFrChFisqmIkNElWS44011uqTRnjrRDS02Nt5fzcrI\",\n \"videoUrl\": \"https://stream.mux.com/TkYDFrChFisqmIkNElWS44011uqTRnjrRDS02Nt5fzcrI/high.mp4\"\n },\n {\n \"id\": \"bp-13028HyB\",\n \"title\": \"Exodus 1 18\",\n \"filename\": \"exodus-1-18\",\n \"muxPlaybackId\": \"13028HyBJrFQ9NXsKZE9EKB47yZNvB65y1S4rDqvNqE8\",\n \"videoUrl\": \"https://stream.mux.com/13028HyBJrFQ9NXsKZE9EKB47yZNvB65y1S4rDqvNqE8/high.mp4\"\n },\n {\n \"id\": \"bp-oGioe01w\",\n \"title\": \"Exodus 19 40\",\n \"filename\": \"exodus-19-40\",\n \"muxPlaybackId\": \"oGioe01w02FW8ChaM02OQCR845gSbKhA3Kd2aY11cJK9YQ\",\n \"videoUrl\": \"https://stream.mux.com/oGioe01w02FW8ChaM02OQCR845gSbKhA3Kd2aY11cJK9YQ/high.mp4\"\n },\n {\n \"id\": \"bp-2AeFwJa1\",\n \"title\": \"Leviticus\",\n \"filename\": \"leviticus\",\n \"muxPlaybackId\": \"2AeFwJa1OdgULnxHx47gV3KpnPLoP9uE5tGXaNSnIxc\",\n \"videoUrl\": \"https://stream.mux.com/2AeFwJa1OdgULnxHx47gV3KpnPLoP9uE5tGXaNSnIxc/high.mp4\"\n },\n {\n \"id\": \"bp-8avMenqq\",\n \"title\": \"Numbers\",\n \"filename\": \"numbers\",\n \"muxPlaybackId\": \"8avMenqqEMuHoOALiDbR7C01KCP9nLHNl8T4qM4xzuWU\",\n \"videoUrl\": \"https://stream.mux.com/8avMenqqEMuHoOALiDbR7C01KCP9nLHNl8T4qM4xzuWU/high.mp4\"\n },\n {\n \"id\": \"bp-ya5GW702\",\n \"title\": \"Deuteronomy\",\n \"filename\": \"deuteronomy\",\n \"muxPlaybackId\": \"ya5GW702WAFFkLZhQlnt00OupZcHusDmvY9FT3NRa35Cw\",\n \"videoUrl\": \"https://stream.mux.com/ya5GW702WAFFkLZhQlnt00OupZcHusDmvY9FT3NRa35Cw/high.mp4\"\n },\n {\n \"id\": \"bp-vkjeJNcP\",\n \"title\": \"Esther Second Edition\",\n \"filename\": \"esther-second-edition\",\n \"muxPlaybackId\": \"vkjeJNcP501gboBbRjx02pQAH1SIpqU9bwkLthQLEe00lA\",\n \"videoUrl\": \"https://stream.mux.com/vkjeJNcP501gboBbRjx02pQAH1SIpqU9bwkLthQLEe00lA/high.mp4\"\n },\n {\n \"id\": \"bp-S8qvoXnW\",\n \"title\": \"Daniel Second Edition\",\n \"filename\": \"daniel-second-edition\",\n \"muxPlaybackId\": \"S8qvoXnWSfLI7vxtFEAOzFkb800h0202achddi6CeRX8uc\",\n \"videoUrl\": \"https://stream.mux.com/S8qvoXnWSfLI7vxtFEAOzFkb800h0202achddi6CeRX8uc/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"New Testament Overviews\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/new-testament-overviews/tr:q-65,w-300/nt-overviews_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-Z023UIyq\",\n \"title\": \"New Testament Overview\",\n \"filename\": \"new-testament-overview\",\n \"muxPlaybackId\": \"Z023UIyqQF6RzvxYo02tMKBqlUrWdWpingO02VYDgWzQPY\",\n \"videoUrl\": \"https://stream.mux.com/Z023UIyqQF6RzvxYo02tMKBqlUrWdWpingO02VYDgWzQPY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/NT%20Overview.jpg\"\n },\n {\n \"id\": \"bp-801erPO5\",\n \"title\": \"Matthew 1 13\",\n \"filename\": \"matthew-1-13\",\n \"muxPlaybackId\": \"801erPO5siagtLvyNYBB01nIS8GRD4ZQFUgLPEPb2Vc2Y\",\n \"videoUrl\": \"https://stream.mux.com/801erPO5siagtLvyNYBB01nIS8GRD4ZQFUgLPEPb2Vc2Y/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/42-Matthew-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-l26rKhJa\",\n \"title\": \"Matthew 14 28\",\n \"filename\": \"matthew-14-28\",\n \"muxPlaybackId\": \"l26rKhJazSPaf0201RS8aLbe9bTF47R2yx021kYKHVzyVI\",\n \"videoUrl\": \"https://stream.mux.com/l26rKhJazSPaf0201RS8aLbe9bTF47R2yx021kYKHVzyVI/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/42-Matthew-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-e9eTDZe5\",\n \"title\": \"Mark\",\n \"filename\": \"mark\",\n \"muxPlaybackId\": \"e9eTDZe5OFaz22dp2Llh8srfxP2unSimWnUIZVq202Os\",\n \"videoUrl\": \"https://stream.mux.com/e9eTDZe5OFaz22dp2Llh8srfxP2unSimWnUIZVq202Os/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/44-Mark-FNL.jpg\"\n },\n {\n \"id\": \"bp-sC6VzZQD\",\n \"title\": \"John 1 12\",\n \"filename\": \"john-1-12\",\n \"muxPlaybackId\": \"sC6VzZQDk3024mhE2n8csZLINmtu7Vew8sgEs2W01V01gg\",\n \"videoUrl\": \"https://stream.mux.com/sC6VzZQDk3024mhE2n8csZLINmtu7Vew8sgEs2W01V01gg/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/45-46-john-1.jpg\"\n },\n {\n \"id\": \"bp-THgfzaH0\",\n \"title\": \"John 13 21\",\n \"filename\": \"john-13-21\",\n \"muxPlaybackId\": \"THgfzaH02VR5sEqbks815HtAvqp02ecinrwLaQmw3b6LM\",\n \"videoUrl\": \"https://stream.mux.com/THgfzaH02VR5sEqbks815HtAvqp02ecinrwLaQmw3b6LM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/45-46-john-1.jpg\"\n },\n {\n \"id\": \"bp-stejN00X\",\n \"title\": \"Luke 1 9\",\n \"filename\": \"luke-1-9\",\n \"muxPlaybackId\": \"stejN00X6iFAutx7foc902ijNyO11r7gch8gNMnzGVLBM\",\n \"videoUrl\": \"https://stream.mux.com/stejN00X6iFAutx7foc902ijNyO11r7gch8gNMnzGVLBM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/47-48-Luke-FNL.jpg\"\n },\n {\n \"id\": \"bp-00zzJzUd\",\n \"title\": \"Luke 10 24\",\n \"filename\": \"luke-10-24\",\n \"muxPlaybackId\": \"00zzJzUdTCefLs01DFvfNKmW5f00YXkovQl01PHvJyTJjhY\",\n \"videoUrl\": \"https://stream.mux.com/00zzJzUdTCefLs01DFvfNKmW5f00YXkovQl01PHvJyTJjhY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/47-48-Luke-FNL.jpg\"\n },\n {\n \"id\": \"bp-zEm8b16B\",\n \"title\": \"Acts 1 12\",\n \"filename\": \"acts-1-12\",\n \"muxPlaybackId\": \"zEm8b16B4p7NWXnDvS5nu25nSExRoI6EKP5GhHAWg2Q\",\n \"videoUrl\": \"https://stream.mux.com/zEm8b16B4p7NWXnDvS5nu25nSExRoI6EKP5GhHAWg2Q/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/49-Acts-FNL.jpg\"\n },\n {\n \"id\": \"bp-JGLOuBLC\",\n \"title\": \"Acts 13 28\",\n \"filename\": \"acts-13-28\",\n \"muxPlaybackId\": \"JGLOuBLC800dwIB2EWj027EN9e6K42poyigmI600moX00008\",\n \"videoUrl\": \"https://stream.mux.com/JGLOuBLC800dwIB2EWj027EN9e6K42poyigmI600moX00008/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/49-Acts-FNL.jpg\"\n },\n {\n \"id\": \"bp-JOwtd4wJ\",\n \"title\": \"Romans 1 4\",\n \"filename\": \"romans-1-4\",\n \"muxPlaybackId\": \"JOwtd4wJBaE4tNEpG29osk7YpsfJGd1hvFP9RL2nPWY\",\n \"videoUrl\": \"https://stream.mux.com/JOwtd4wJBaE4tNEpG29osk7YpsfJGd1hvFP9RL2nPWY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/50_Romans.jpg\"\n },\n {\n \"id\": \"bp-01O8p00k\",\n \"title\": \"Romans 5 16\",\n \"filename\": \"romans-5-16\",\n \"muxPlaybackId\": \"01O8p00kAKeMNeSBelNy100lSoMoFcCZ01W6rU1McatNQ8w\",\n \"videoUrl\": \"https://stream.mux.com/01O8p00kAKeMNeSBelNy100lSoMoFcCZ01W6rU1McatNQ8w/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/50_Romans.jpg\"\n },\n {\n \"id\": \"bp-WieKKhX2\",\n \"title\": \"1 Corinthians\",\n \"filename\": \"1-corinthians\",\n \"muxPlaybackId\": \"WieKKhX26bqP4x9OKvQUmBKSHvk38EcEeTilyn5lXP4\",\n \"videoUrl\": \"https://stream.mux.com/WieKKhX26bqP4x9OKvQUmBKSHvk38EcEeTilyn5lXP4/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/52-53-Corinthians.jpg\"\n },\n {\n \"id\": \"bp-XoW027eY\",\n \"title\": \"2 Corinthians\",\n \"filename\": \"2-corinthians\",\n \"muxPlaybackId\": \"XoW027eYYCX1FQvly9RAOIeH02KL012t4n2L3B1IosUSyI\",\n \"videoUrl\": \"https://stream.mux.com/XoW027eYYCX1FQvly9RAOIeH02KL012t4n2L3B1IosUSyI/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/53-2-Corinthians-FNL2.jpg\"\n },\n {\n \"id\": \"bp-4IfSvOSl\",\n \"title\": \"Galatians\",\n \"filename\": \"galatians\",\n \"muxPlaybackId\": \"4IfSvOSllmXJrS81fhXR01HAs7zscrlEX9r4D9F9M4dg\",\n \"videoUrl\": \"https://stream.mux.com/4IfSvOSllmXJrS81fhXR01HAs7zscrlEX9r4D9F9M4dg/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/54-Galatians-FNL.jpg\"\n },\n {\n \"id\": \"bp-fBwEIh2Z\",\n \"title\": \"Ephesians\",\n \"filename\": \"ephesians\",\n \"muxPlaybackId\": \"fBwEIh2ZQL901mFJZAw7f02aRqFRHNdinm8w1T01m023I02M\",\n \"videoUrl\": \"https://stream.mux.com/fBwEIh2ZQL901mFJZAw7f02aRqFRHNdinm8w1T01m023I02M/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/55-Ephesians-FNL.jpg\"\n },\n {\n \"id\": \"bp-02ih3eMg\",\n \"title\": \"Philippians\",\n \"filename\": \"philippians\",\n \"muxPlaybackId\": \"02ih3eMgX8BhfWNCQvCAAx64o6tp702Y300pspD00KtyHqY\",\n \"videoUrl\": \"https://stream.mux.com/02ih3eMgX8BhfWNCQvCAAx64o6tp702Y300pspD00KtyHqY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/56-Philippians-FNL.jpg\"\n },\n {\n \"id\": \"bp-V01bN4sE\",\n \"title\": \"Colossians\",\n \"filename\": \"colossians\",\n \"muxPlaybackId\": \"V01bN4sEe00pnK3q3dpeTcXb76puDljNGzQVXljgz8BZA\",\n \"videoUrl\": \"https://stream.mux.com/V01bN4sEe00pnK3q3dpeTcXb76puDljNGzQVXljgz8BZA/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/57%20Colossians%20PRF.jpg\"\n },\n {\n \"id\": \"bp-LX1qiBym\",\n \"title\": \"Philemon\",\n \"filename\": \"philemon\",\n \"muxPlaybackId\": \"LX1qiBymc001VKGvwvsYPVStla01c02cjs8gYr2XoJns01c\",\n \"videoUrl\": \"https://stream.mux.com/LX1qiBymc001VKGvwvsYPVStla01c02cjs8gYr2XoJns01c/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/58-Philemon-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-fUgStG3N\",\n \"title\": \"1 Thessalonians\",\n \"filename\": \"1-thessalonians\",\n \"muxPlaybackId\": \"fUgStG3Nmi01m62gSgztdausKS186QWKC1ElQSrxHTPo\",\n \"videoUrl\": \"https://stream.mux.com/fUgStG3Nmi01m62gSgztdausKS186QWKC1ElQSrxHTPo/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/59a-1-Thessalonians-FNL.jpg\"\n },\n {\n \"id\": \"bp-s8xNyy92\",\n \"title\": \"2 Thessalonians\",\n \"filename\": \"2-thessalonians\",\n \"muxPlaybackId\": \"s8xNyy92ChSWhjehfSxREYKI5KsrGGZcnPTwVp8gKJ4\",\n \"videoUrl\": \"https://stream.mux.com/s8xNyy92ChSWhjehfSxREYKI5KsrGGZcnPTwVp8gKJ4/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/59b-2-Thessalonians-FNL.jpg\"\n },\n {\n \"id\": \"bp-vP00JOsZ\",\n \"title\": \"1 Timothy\",\n \"filename\": \"1-timothy\",\n \"muxPlaybackId\": \"vP00JOsZ45owxi02N7fGK8rN1J3BBRXND3RX7ucUMBjO00\",\n \"videoUrl\": \"https://stream.mux.com/vP00JOsZ45owxi02N7fGK8rN1J3BBRXND3RX7ucUMBjO00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/60-1-Timothy-FNL.jpg\"\n },\n {\n \"id\": \"bp-CPH011Q2\",\n \"title\": \"2 Timothy\",\n \"filename\": \"2-timothy\",\n \"muxPlaybackId\": \"CPH011Q2nQ8jLVAKmU4n4fKWcP9lCbHLgT6pSsVlv5iw\",\n \"videoUrl\": \"https://stream.mux.com/CPH011Q2nQ8jLVAKmU4n4fKWcP9lCbHLgT6pSsVlv5iw/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/61-2-Timothy-FNL.jpg\"\n },\n {\n \"id\": \"bp-yS7D01Wg\",\n \"title\": \"Titus\",\n \"filename\": \"titus\",\n \"muxPlaybackId\": \"yS7D01WgY23OXviV6oFm01ds6XMB4Xh02fmPwMiuxUZq018\",\n \"videoUrl\": \"https://stream.mux.com/yS7D01WgY23OXviV6oFm01ds6XMB4Xh02fmPwMiuxUZq018/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/62%20Titus%20FNL.jpg\"\n },\n {\n \"id\": \"bp-8dq3itoi\",\n \"title\": \"Hebrews\",\n \"filename\": \"hebrews\",\n \"muxPlaybackId\": \"8dq3itoij1p9Uuydyk2joy9skBhO00N00SrPrL020001Q8i8\",\n \"videoUrl\": \"https://stream.mux.com/8dq3itoij1p9Uuydyk2joy9skBhO00N00SrPrL020001Q8i8/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/64-James_FNL.jpg\"\n },\n {\n \"id\": \"bp-qhwIsZal\",\n \"title\": \"James\",\n \"filename\": \"james\",\n \"muxPlaybackId\": \"qhwIsZal01vnXbXQUiLeY00LOdUML2HtPXMnH8PgRAZf00\",\n \"videoUrl\": \"https://stream.mux.com/qhwIsZal01vnXbXQUiLeY00LOdUML2HtPXMnH8PgRAZf00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/64-James_FNL.jpg\"\n },\n {\n \"id\": \"bp-cgex91dC\",\n \"title\": \"1 Peter\",\n \"filename\": \"1-peter\",\n \"muxPlaybackId\": \"cgex91dCChkk6bl6oDZAT6KvJZREDYC1MSVKyTqLdKk\",\n \"videoUrl\": \"https://stream.mux.com/cgex91dCChkk6bl6oDZAT6KvJZREDYC1MSVKyTqLdKk/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/65-1-Peter-FNL.jpg\"\n },\n {\n \"id\": \"bp-mlymhw6h\",\n \"title\": \"2 Peter\",\n \"filename\": \"2-peter\",\n \"muxPlaybackId\": \"mlymhw6hBY2vK1ZYO00Dfwmnz0000G7KoCOPINAmMDDJzw\",\n \"videoUrl\": \"https://stream.mux.com/mlymhw6hBY2vK1ZYO00Dfwmnz0000G7KoCOPINAmMDDJzw/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/66-2-Peter-FNL.jpg\"\n },\n {\n \"id\": \"bp-3Kp22zNH\",\n \"title\": \"1 3 John\",\n \"filename\": \"1-3-john\",\n \"muxPlaybackId\": \"3Kp22zNH5QhX027LKFYSknh1fmOGtYkekaPFYY5hFg5c\",\n \"videoUrl\": \"https://stream.mux.com/3Kp22zNH5QhX027LKFYSknh1fmOGtYkekaPFYY5hFg5c/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/67-123-John.jpg\"\n },\n {\n \"id\": \"bp-W01i5s01\",\n \"title\": \"Jude\",\n \"filename\": \"jude\",\n \"muxPlaybackId\": \"W01i5s0102PiKfdLNO1E9zNThUN9N1FWyMCqVLSTYk7dnI\",\n \"videoUrl\": \"https://stream.mux.com/W01i5s0102PiKfdLNO1E9zNThUN9N1FWyMCqVLSTYk7dnI/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/68-Jude-FNL.jpg\"\n },\n {\n \"id\": \"bp-005Ha01v\",\n \"title\": \"Revelation 1 11\",\n \"filename\": \"revelation-1-11\",\n \"muxPlaybackId\": \"005Ha01v65P4LM02xcsTbyW902oAThsAtuSRaCHnNedC01Dk\",\n \"videoUrl\": \"https://stream.mux.com/005Ha01v65P4LM02xcsTbyW902oAThsAtuSRaCHnNedC01Dk/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/69-70-Revelation-FNL.jpg\"\n },\n {\n \"id\": \"bp-4hFy6Fg0\",\n \"title\": \"Revelation 12 22\",\n \"filename\": \"revelation-12-22\",\n \"muxPlaybackId\": \"4hFy6Fg00v5OZH7ThE8s4JSZ02i3bfCexbCCyXGybUTK00\",\n \"videoUrl\": \"https://stream.mux.com/4hFy6Fg00v5OZH7ThE8s4JSZ02i3bfCexbCCyXGybUTK00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/69-70-Revelation-FNL.jpg\"\n },\n {\n \"id\": \"bp-DMQYPSes\",\n \"title\": \"Matthew 5 7 Sermon Overview\",\n \"filename\": \"matthew-5-7-sermon-overview\",\n \"muxPlaybackId\": \"DMQYPSesvzZyWsOGKR02eA7dSQu3T028FDNO6EDW01k8PU\",\n \"videoUrl\": \"https://stream.mux.com/DMQYPSesvzZyWsOGKR02eA7dSQu3T028FDNO6EDW01k8PU/high.mp4\"\n },\n {\n \"id\": \"bp-GbCmMEQi\",\n \"title\": \"Matthew 517 20 Righteousness And Jesus Bible\",\n \"filename\": \"matthew-517-20-righteousness-and-jesus-bible\",\n \"muxPlaybackId\": \"GbCmMEQi75uPMKskmo01NEcbzQ00LUk8ugVXJK3iMzsSE\",\n \"videoUrl\": \"https://stream.mux.com/GbCmMEQi75uPMKskmo01NEcbzQ00LUk8ugVXJK3iMzsSE/high.mp4\"\n },\n {\n \"id\": \"bp-Gw2rkyn2\",\n \"title\": \"Matthew 521 22 Murder And Contempt\",\n \"filename\": \"matthew-521-22-murder-and-contempt\",\n \"muxPlaybackId\": \"Gw2rkyn2OJ1wb8hcRp01LkQ3ftiJlaE0001aqTnuQsUdbQ\",\n \"videoUrl\": \"https://stream.mux.com/Gw2rkyn2OJ1wb8hcRp01LkQ3ftiJlaE0001aqTnuQsUdbQ/high.mp4\"\n },\n {\n \"id\": \"bp-mnDok7dM\",\n \"title\": \"Matthew 527 28 Adultery And Lust\",\n \"filename\": \"matthew-527-28-adultery-and-lust\",\n \"muxPlaybackId\": \"mnDok7dMFAve02Pfra8ZOVnftrHSB21GgUZI4DIxXBQU\",\n \"videoUrl\": \"https://stream.mux.com/mnDok7dMFAve02Pfra8ZOVnftrHSB21GgUZI4DIxXBQU/high.mp4\"\n },\n {\n \"id\": \"bp-23OrCqtn\",\n \"title\": \"Matthew 529 30 Eye And Hand Mutilation\",\n \"filename\": \"matthew-529-30-eye-and-hand-mutilation\",\n \"muxPlaybackId\": \"23OrCqtnB5TwNLmQxzISdW56HtjUdpnM700bAZAvWrbE\",\n \"videoUrl\": \"https://stream.mux.com/23OrCqtnB5TwNLmQxzISdW56HtjUdpnM700bAZAvWrbE/high.mp4\"\n },\n {\n \"id\": \"bp-00UgyQ01\",\n \"title\": \"Matthew 61 4 Generosity And The True Reward\",\n \"filename\": \"matthew-61-4-generosity-and-the-true-reward\",\n \"muxPlaybackId\": \"00UgyQ01VU9IaQjQb02v7SMZ4u6wKrfsKmTzhFlZSWFy9w\",\n \"videoUrl\": \"https://stream.mux.com/00UgyQ01VU9IaQjQb02v7SMZ4u6wKrfsKmTzhFlZSWFy9w/high.mp4\"\n },\n {\n \"id\": \"bp-6HAd7UQF\",\n \"title\": \"Matthew 69 13 The Prayer Of Jesus\",\n \"filename\": \"matthew-69-13-the-prayer-of-jesus\",\n \"muxPlaybackId\": \"6HAd7UQFq61tJvdCW4xwGde5g00brLiPA1F41paRvIng\",\n \"videoUrl\": \"https://stream.mux.com/6HAd7UQFq61tJvdCW4xwGde5g00brLiPA1F41paRvIng/high.mp4\"\n },\n {\n \"id\": \"bp-sdgNn7hL\",\n \"title\": \"Matthew 619 23 True Wealth And Generosity\",\n \"filename\": \"matthew-619-23-true-wealth-and-generosity\",\n \"muxPlaybackId\": \"sdgNn7hLjDa00PDuLSGlBhuIprZh7P95xL3swvRtg87I\",\n \"videoUrl\": \"https://stream.mux.com/sdgNn7hLjDa00PDuLSGlBhuIprZh7P95xL3swvRtg87I/high.mp4\"\n },\n {\n \"id\": \"bp-yM6gt7pU\",\n \"title\": \"Matthew 71 2 Dont Judge\",\n \"filename\": \"matthew-71-2-dont-judge\",\n \"muxPlaybackId\": \"yM6gt7pUVdDfxEzbC5sEUmCwaCni9Fg1voS4B3gdZh8\",\n \"videoUrl\": \"https://stream.mux.com/yM6gt7pUVdDfxEzbC5sEUmCwaCni9Fg1voS4B3gdZh8/high.mp4\"\n },\n {\n \"id\": \"bp-963tjVXI\",\n \"title\": \"Matthew 76 Pearls Before Pigs\",\n \"filename\": \"matthew-76-pearls-before-pigs\",\n \"muxPlaybackId\": \"963tjVXI9U01n2A5JnK01lDPypodSa2rWNMrm763vjOts\",\n \"videoUrl\": \"https://stream.mux.com/963tjVXI9U01n2A5JnK01lDPypodSa2rWNMrm763vjOts/high.mp4\"\n },\n {\n \"id\": \"bp-t900wtFS\",\n \"title\": \"Matthew 712 The Golden Rule\",\n \"filename\": \"matthew-712-the-golden-rule\",\n \"muxPlaybackId\": \"t900wtFSCmAyzhX00kuxRSZtAQmqLVQ2vnKVHyhJlOk8A\",\n \"videoUrl\": \"https://stream.mux.com/t900wtFSCmAyzhX00kuxRSZtAQmqLVQ2vnKVHyhJlOk8A/high.mp4\"\n },\n {\n \"id\": \"bp-w01Gbi00\",\n \"title\": \"Matthew 724 27 The Two Houses\",\n \"filename\": \"matthew-724-27-the-two-houses\",\n \"muxPlaybackId\": \"w01Gbi00lPlTtA7wyVTS4rLxIHJ65VJNvEI2VkAprMHf8\",\n \"videoUrl\": \"https://stream.mux.com/w01Gbi00lPlTtA7wyVTS4rLxIHJ65VJNvEI2VkAprMHf8/high.mp4\"\n },\n {\n \"id\": \"bp-E8ewd02F\",\n \"title\": \"New Testament Letters Historical Context\",\n \"filename\": \"new-testament-letters-historical-context\",\n \"muxPlaybackId\": \"E8ewd02FS3rAqj5Wui8GXSRn2tMTp01eRvNDHXcAk9R1I\",\n \"videoUrl\": \"https://stream.mux.com/E8ewd02FS3rAqj5Wui8GXSRn2tMTp01eRvNDHXcAk9R1I/high.mp4\"\n },\n {\n \"id\": \"bp-011diPqU\",\n \"title\": \"New Testament Letters Literary Context\",\n \"filename\": \"new-testament-letters-literary-context\",\n \"muxPlaybackId\": \"011diPqUlURqRsGcn5QK5pXmDdpS00XL7MEFdrW2K12zI\",\n \"videoUrl\": \"https://stream.mux.com/011diPqUlURqRsGcn5QK5pXmDdpS00XL7MEFdrW2K12zI/high.mp4\"\n },\n {\n \"id\": \"bp-nG24qFQo\",\n \"title\": \"John 1\",\n \"filename\": \"john-1\",\n \"muxPlaybackId\": \"nG24qFQoj01ngclz255PHjmKR00O3PExZb9TjfrFeb01vM\",\n \"videoUrl\": \"https://stream.mux.com/nG24qFQoj01ngclz255PHjmKR00O3PExZb9TjfrFeb01vM/high.mp4\"\n },\n {\n \"id\": \"bp-3Mix02RE\",\n \"title\": \"The Birth Of Jesus Luke 1 2\",\n \"filename\": \"the-birth-of-jesus-luke-1-2\",\n \"muxPlaybackId\": \"3Mix02RE1IeFBG3a02KMm7t1LxH2bIbeuuzd1xlMnmOCs\",\n \"videoUrl\": \"https://stream.mux.com/3Mix02RE1IeFBG3a02KMm7t1LxH2bIbeuuzd1xlMnmOCs/high.mp4\"\n },\n {\n \"id\": \"bp-RM7WmIn0\",\n \"title\": \"The Baptism Of Jesus Luke 3 9\",\n \"filename\": \"the-baptism-of-jesus-luke-3-9\",\n \"muxPlaybackId\": \"RM7WmIn01C2dOiAYfR8d2Bx92x6d02ZNXn401rKuFLZhmk\",\n \"videoUrl\": \"https://stream.mux.com/RM7WmIn01C2dOiAYfR8d2Bx92x6d02ZNXn401rKuFLZhmk/high.mp4\"\n },\n {\n \"id\": \"bp-elaFbZFY\",\n \"title\": \"The Prodigal Son Luke 9 19\",\n \"filename\": \"the-prodigal-son-luke-9-19\",\n \"muxPlaybackId\": \"elaFbZFYle521coNqbv8Pecv2s6XCbTlUs6YxTNLnC8\",\n \"videoUrl\": \"https://stream.mux.com/elaFbZFYle521coNqbv8Pecv2s6XCbTlUs6YxTNLnC8/high.mp4\"\n },\n {\n \"id\": \"bp-jcQFFCAz\",\n \"title\": \"The Crucifixion Of Jesus Luke 19 23\",\n \"filename\": \"the-crucifixion-of-jesus-luke-19-23\",\n \"muxPlaybackId\": \"jcQFFCAz3WgOd5g00sqqM7mDnFfI01R6TxN9SWjAT02YgM\",\n \"videoUrl\": \"https://stream.mux.com/jcQFFCAz3WgOd5g00sqqM7mDnFfI01R6TxN9SWjAT02YgM/high.mp4\"\n },\n {\n \"id\": \"bp-eeVWOGOb\",\n \"title\": \"The Resurrection Of Jesus Luke 24\",\n \"filename\": \"the-resurrection-of-jesus-luke-24\",\n \"muxPlaybackId\": \"eeVWOGObI451D9bJYRm4SQ10000VsfloKPUWurwbG02qDg\",\n \"videoUrl\": \"https://stream.mux.com/eeVWOGObI451D9bJYRm4SQ10000VsfloKPUWurwbG02qDg/high.mp4\"\n },\n {\n \"id\": \"bp-Q99jL26u\",\n \"title\": \"Pentecost Acts 1 7\",\n \"filename\": \"pentecost-acts-1-7\",\n \"muxPlaybackId\": \"Q99jL26uX42av35sOx6CsdyAzd2DXJ00rf302gKSEY1nM\",\n \"videoUrl\": \"https://stream.mux.com/Q99jL26uX42av35sOx6CsdyAzd2DXJ00rf302gKSEY1nM/high.mp4\"\n },\n {\n \"id\": \"bp-Y7i1lsxY\",\n \"title\": \"The Apostle Paul Acts 8 12\",\n \"filename\": \"the-apostle-paul-acts-8-12\",\n \"muxPlaybackId\": \"Y7i1lsxYa402HQZAeDudD1CLzadJwJF2Bq94CWyn6mfQ\",\n \"videoUrl\": \"https://stream.mux.com/Y7i1lsxYa402HQZAeDudD1CLzadJwJF2Bq94CWyn6mfQ/high.mp4\"\n },\n {\n \"id\": \"bp-NiX2ZN5G\",\n \"title\": \"Pauls Missionary Journeys Acts 13 20\",\n \"filename\": \"pauls-missionary-journeys-acts-13-20\",\n \"muxPlaybackId\": \"NiX2ZN5GQ02toPrh5lOp7DF02VogkysBXs9ePkpxpNG0200\",\n \"videoUrl\": \"https://stream.mux.com/NiX2ZN5GQ02toPrh5lOp7DF02VogkysBXs9ePkpxpNG0200/high.mp4\"\n },\n {\n \"id\": \"bp-02QFo4ME\",\n \"title\": \"Bound For Rome Acts 21 28\",\n \"filename\": \"bound-for-rome-acts-21-28\",\n \"muxPlaybackId\": \"02QFo4MEO24Es1MNV4xDuIlhtaxsnJwIWpDquLgWQIW00\",\n \"videoUrl\": \"https://stream.mux.com/02QFo4MEO24Es1MNV4xDuIlhtaxsnJwIWpDquLgWQIW00/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Biblical Themes\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/themes/tr:q-65,w-300/themes_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-M7JxYGBi\",\n \"title\": \"The Wilderness\",\n \"filename\": \"the-wilderness\",\n \"muxPlaybackId\": \"M7JxYGBikgT2QKm8L6PJc3HoakR841ScaGO7P5DriWY\",\n \"videoUrl\": \"https://stream.mux.com/M7JxYGBikgT2QKm8L6PJc3HoakR841ScaGO7P5DriWY/high.mp4\"\n },\n {\n \"id\": \"bp-2Z8nzeFB\",\n \"title\": \"Redemption\",\n \"filename\": \"redemption\",\n \"muxPlaybackId\": \"2Z8nzeFBm007rxd3Rh4fPZxIKthdoSo1M5WLyyZy4pWk\",\n \"videoUrl\": \"https://stream.mux.com/2Z8nzeFBm007rxd3Rh4fPZxIKthdoSo1M5WLyyZy4pWk/high.mp4\"\n },\n {\n \"id\": \"bp-XFrImxp1\",\n \"title\": \"The Mountain\",\n \"filename\": \"the-mountain\",\n \"muxPlaybackId\": \"XFrImxp1uIP02QT01cWyJuMUyOlhXmP7xwkkugDjz4sk4\",\n \"videoUrl\": \"https://stream.mux.com/XFrImxp1uIP02QT01cWyJuMUyOlhXmP7xwkkugDjz4sk4/high.mp4\"\n },\n {\n \"id\": \"bp-w1eN5wt0\",\n \"title\": \"The Messiah\",\n \"filename\": \"the-messiah\",\n \"muxPlaybackId\": \"w1eN5wt02j9fHB02DSxVrlNWbUP00pjEfnUaV2RY00FWo3E\",\n \"videoUrl\": \"https://stream.mux.com/w1eN5wt02j9fHB02DSxVrlNWbUP00pjEfnUaV2RY00FWo3E/high.mp4\"\n },\n {\n \"id\": \"bp-Qvh5JS2S\",\n \"title\": \"The Covenants\",\n \"filename\": \"the-covenants\",\n \"muxPlaybackId\": \"Qvh5JS2S01EI3y3pkZNGDKLP6Fwx1HlCz4Vkp5jH0071c\",\n \"videoUrl\": \"https://stream.mux.com/Qvh5JS2S01EI3y3pkZNGDKLP6Fwx1HlCz4Vkp5jH0071c/high.mp4\"\n },\n {\n \"id\": \"bp-gtPRhhK5\",\n \"title\": \"Holiness\",\n \"filename\": \"holiness\",\n \"muxPlaybackId\": \"gtPRhhK5ceBMz01KzpifRYfyc01IIO3LUxS02Zz9EZ7rAs\",\n \"videoUrl\": \"https://stream.mux.com/gtPRhhK5ceBMz01KzpifRYfyc01IIO3LUxS02Zz9EZ7rAs/high.mp4\"\n },\n {\n \"id\": \"bp-kjDODM02\",\n \"title\": \"Sacrifice And Atonement\",\n \"filename\": \"sacrifice-and-atonement\",\n \"muxPlaybackId\": \"kjDODM02a9ZuYcz5HDic01ulnf02t4SyWFav02SjydJxgqE\",\n \"videoUrl\": \"https://stream.mux.com/kjDODM02a9ZuYcz5HDic01ulnf02t4SyWFav02SjydJxgqE/high.mp4\"\n },\n {\n \"id\": \"bp-mp3tjs02\",\n \"title\": \"Gospel Of The Kingdom\",\n \"filename\": \"gospel-of-the-kingdom\",\n \"muxPlaybackId\": \"mp3tjs02X5scbwi8LqbWiAsST3I02ZgUo028PjMWSF1xRY\",\n \"videoUrl\": \"https://stream.mux.com/mp3tjs02X5scbwi8LqbWiAsST3I02ZgUo028PjMWSF1xRY/high.mp4\"\n },\n {\n \"id\": \"bp-QCLVg650\",\n \"title\": \"Day Of The Lord\",\n \"filename\": \"day-of-the-lord\",\n \"muxPlaybackId\": \"QCLVg65005EHgvzkioxGmCYyS74NyPhTzFlNmyDUgRSY\",\n \"videoUrl\": \"https://stream.mux.com/QCLVg65005EHgvzkioxGmCYyS74NyPhTzFlNmyDUgRSY/high.mp4\"\n },\n {\n \"id\": \"bp-Ze02bzjj\",\n \"title\": \"Holy Spirit\",\n \"filename\": \"holy-spirit\",\n \"muxPlaybackId\": \"Ze02bzjje4rWeY3ANRlZNx00UbwM8TaUz2MdjPQLy7Avg\",\n \"videoUrl\": \"https://stream.mux.com/Ze02bzjje4rWeY3ANRlZNx00UbwM8TaUz2MdjPQLy7Avg/high.mp4\"\n },\n {\n \"id\": \"bp-Ol1xhn7l\",\n \"title\": \"Public Reading Of Scripture\",\n \"filename\": \"public-reading-of-scripture\",\n \"muxPlaybackId\": \"Ol1xhn7lAfpO2l01vp3l9gsBswbI02MlKdxAiuoeI7OLM\",\n \"videoUrl\": \"https://stream.mux.com/Ol1xhn7lAfpO2l01vp3l9gsBswbI02MlKdxAiuoeI7OLM/high.mp4\"\n },\n {\n \"id\": \"bp-1V5ZkTXB\",\n \"title\": \"Justice\",\n \"filename\": \"justice\",\n \"muxPlaybackId\": \"1V5ZkTXBbm4s3w7CLcrUsYF2dO49si2cl800IC01chrKA\",\n \"videoUrl\": \"https://stream.mux.com/1V5ZkTXBbm4s3w7CLcrUsYF2dO49si2cl800IC01chrKA/high.mp4\"\n },\n {\n \"id\": \"bp-BucWzB7E\",\n \"title\": \"Exile\",\n \"filename\": \"exile\",\n \"muxPlaybackId\": \"BucWzB7EfewcTzArlX6ttdl00s402gBOqDEAQQ3vc3G2A\",\n \"videoUrl\": \"https://stream.mux.com/BucWzB7EfewcTzArlX6ttdl00s402gBOqDEAQQ3vc3G2A/high.mp4\"\n },\n {\n \"id\": \"bp-RuZt01Xh\",\n \"title\": \"The Way Of The Exile\",\n \"filename\": \"the-way-of-the-exile\",\n \"muxPlaybackId\": \"RuZt01XhYaEAW7D602NITU9w1pYbucteXqQsBI2uw4n9s\",\n \"videoUrl\": \"https://stream.mux.com/RuZt01XhYaEAW7D602NITU9w1pYbucteXqQsBI2uw4n9s/high.mp4\"\n },\n {\n \"id\": \"bp-JiTNkrJp\",\n \"title\": \"Son Of Man\",\n \"filename\": \"son-of-man\",\n \"muxPlaybackId\": \"JiTNkrJpp02MRrTnHXYZ6uTqT3u5M6izLr60248102RgmA\",\n \"videoUrl\": \"https://stream.mux.com/JiTNkrJpp02MRrTnHXYZ6uTqT3u5M6izLr60248102RgmA/high.mp4\"\n },\n {\n \"id\": \"bp-SxFWP5bI\",\n \"title\": \"Generosity\",\n \"filename\": \"generosity\",\n \"muxPlaybackId\": \"SxFWP5bIJgAcZnRdGO0201rWzUhFsLduC5FDKA023ICwNc\",\n \"videoUrl\": \"https://stream.mux.com/SxFWP5bIJgAcZnRdGO0201rWzUhFsLduC5FDKA023ICwNc/high.mp4\"\n },\n {\n \"id\": \"bp-fJX5Tx2I\",\n \"title\": \"Sabbath\",\n \"filename\": \"sabbath\",\n \"muxPlaybackId\": \"fJX5Tx2IfUfQoV4hyMCjwlBj7v124Ny8HRzRvhRQb1A\",\n \"videoUrl\": \"https://stream.mux.com/fJX5Tx2IfUfQoV4hyMCjwlBj7v124Ny8HRzRvhRQb1A/high.mp4\"\n },\n {\n \"id\": \"bp-ZPLUAJxt\",\n \"title\": \"Water Of Life\",\n \"filename\": \"water-of-life\",\n \"muxPlaybackId\": \"ZPLUAJxtrg2amMZGKVq3zRwKegV2xjqDyj2VYOjOGZ8\",\n \"videoUrl\": \"https://stream.mux.com/ZPLUAJxtrg2amMZGKVq3zRwKegV2xjqDyj2VYOjOGZ8/high.mp4\"\n },\n {\n \"id\": \"bp-CeZ7qqeH\",\n \"title\": \"The Test\",\n \"filename\": \"the-test\",\n \"muxPlaybackId\": \"CeZ7qqeH46EAciz93f7Ptsrz7kkeR2Cmg6BIkeDg02zU\",\n \"videoUrl\": \"https://stream.mux.com/CeZ7qqeH46EAciz93f7Ptsrz7kkeR2Cmg6BIkeDg02zU/high.mp4\"\n },\n {\n \"id\": \"bp-LpCn027I\",\n \"title\": \"Eternal Life\",\n \"filename\": \"eternal-life\",\n \"muxPlaybackId\": \"LpCn027Ipl8F73NwHdGgl7NmaR8vZlUG3rmDDzt58HYw\",\n \"videoUrl\": \"https://stream.mux.com/LpCn027Ipl8F73NwHdGgl7NmaR8vZlUG3rmDDzt58HYw/high.mp4\"\n },\n {\n \"id\": \"bp-eZyquSwI\",\n \"title\": \"Blessing And Curse\",\n \"filename\": \"blessing-and-curse\",\n \"muxPlaybackId\": \"eZyquSwIbH8Aw5vsqdWFxDQ3B3AlRhR02kLTp2sEdchE\",\n \"videoUrl\": \"https://stream.mux.com/eZyquSwIbH8Aw5vsqdWFxDQ3B3AlRhR02kLTp2sEdchE/high.mp4\"\n },\n {\n \"id\": \"bp-3hpzxSgY\",\n \"title\": \"The Last Will Be First\",\n \"filename\": \"the-last-will-be-first\",\n \"muxPlaybackId\": \"3hpzxSgYmRsJjgVB8oZavoV3y4S6sV48XUOQ6C02wNFg\",\n \"videoUrl\": \"https://stream.mux.com/3hpzxSgYmRsJjgVB8oZavoV3y4S6sV48XUOQ6C02wNFg/high.mp4\"\n },\n {\n \"id\": \"bp-6gCy4Wao\",\n \"title\": \"Anointing\",\n \"filename\": \"anointing\",\n \"muxPlaybackId\": \"6gCy4WaoAMwMDklh02EiCN4PFXRSmFzakfT4KI57UuJc\",\n \"videoUrl\": \"https://stream.mux.com/6gCy4WaoAMwMDklh02EiCN4PFXRSmFzakfT4KI57UuJc/high.mp4\"\n },\n {\n \"id\": \"bp-SzG1whFf\",\n \"title\": \"The City\",\n \"filename\": \"the-city\",\n \"muxPlaybackId\": \"SzG1whFfR3RzrjKrpRb1nS02RkjWFNaurimuW6SZeK02U\",\n \"videoUrl\": \"https://stream.mux.com/SzG1whFfR3RzrjKrpRb1nS02RkjWFNaurimuW6SZeK02U/high.mp4\"\n },\n {\n \"id\": \"bp-bVT6yHqs\",\n \"title\": \"Chaos Dragon\",\n \"filename\": \"chaos-dragon\",\n \"muxPlaybackId\": \"bVT6yHqsYk00bObQADiMsnaA01QM3sFHkbH8Cj300my7PY\",\n \"videoUrl\": \"https://stream.mux.com/bVT6yHqsYk00bObQADiMsnaA01QM3sFHkbH8Cj300my7PY/high.mp4\"\n },\n {\n \"id\": \"bp-83STGVxt\",\n \"title\": \"Intro To The Sermon On The Mount\",\n \"filename\": \"intro-to-the-sermon-on-the-mount\",\n \"muxPlaybackId\": \"83STGVxtcO01902cUvy00g1SJzT4xju2no7DTh9pCZJvRE\",\n \"videoUrl\": \"https://stream.mux.com/83STGVxtcO01902cUvy00g1SJzT4xju2no7DTh9pCZJvRE/high.mp4\"\n },\n {\n \"id\": \"bp-2zpmXs00\",\n \"title\": \"Wisdom Within Laws About Murder Adultery And Divorce\",\n \"filename\": \"wisdom-within-laws-about-murder-adultery-and-divorce\",\n \"muxPlaybackId\": \"2zpmXs00DUhjxKnmYVBTYpUiLWayRQrkavB01gu6gGbaw\",\n \"videoUrl\": \"https://stream.mux.com/2zpmXs00DUhjxKnmYVBTYpUiLWayRQrkavB01gu6gGbaw/high.mp4\"\n },\n {\n \"id\": \"bp-vjNu00fh\",\n \"title\": \"Wisdom Within Laws About Oaths Retaliation And Enemy Love\",\n \"filename\": \"wisdom-within-laws-about-oaths-retaliation-and-enemy-love\",\n \"muxPlaybackId\": \"vjNu00fhh6VpkYQ9pycVWXhLAv9GbKtH13ZSalwOwKow\",\n \"videoUrl\": \"https://stream.mux.com/vjNu00fhh6VpkYQ9pycVWXhLAv9GbKtH13ZSalwOwKow/high.mp4\"\n },\n {\n \"id\": \"bp-gECIK1hB\",\n \"title\": \"Wisdom In Relationships\",\n \"filename\": \"wisdom-in-relationships\",\n \"muxPlaybackId\": \"gECIK1hB3lBrkd00reyesZtDdVkQWVBl3PVpoBN5UzSo\",\n \"videoUrl\": \"https://stream.mux.com/gECIK1hB3lBrkd00reyesZtDdVkQWVBl3PVpoBN5UzSo/high.mp4\"\n },\n {\n \"id\": \"bp-GQuIQuYE\",\n \"title\": \"The Choice\",\n \"filename\": \"the-choice\",\n \"muxPlaybackId\": \"GQuIQuYEH6IoixgZkMyU2sv8T0100N3022A00QrNmGNvONM\",\n \"videoUrl\": \"https://stream.mux.com/GQuIQuYEH6IoixgZkMyU2sv8T0100N3022A00QrNmGNvONM/high.mp4\"\n },\n {\n \"id\": \"bp-Shmo4jQI\",\n \"title\": \"Biblical Law\",\n \"filename\": \"biblical-law\",\n \"muxPlaybackId\": \"Shmo4jQIFAnFoGwjJ4Ha7XBVWDP4WPdi2Cev8P4BIjI\",\n \"videoUrl\": \"https://stream.mux.com/Shmo4jQIFAnFoGwjJ4Ha7XBVWDP4WPdi2Cev8P4BIjI/high.mp4\"\n },\n {\n \"id\": \"bp-besUIzra\",\n \"title\": \"God\",\n \"filename\": \"god\",\n \"muxPlaybackId\": \"besUIzraM02kEUPHAGjHCuPwxBhiCST1eEtxFJRNmop8\",\n \"videoUrl\": \"https://stream.mux.com/besUIzraM02kEUPHAGjHCuPwxBhiCST1eEtxFJRNmop8/high.mp4\"\n },\n {\n \"id\": \"bp-ZU8eW7qK\",\n \"title\": \"The Wisdom Of Ben Sira\",\n \"filename\": \"the-wisdom-of-ben-sira\",\n \"muxPlaybackId\": \"ZU8eW7qKvfB3012i02r5BEWK9zo17waDhNpwIs6BkO01Q00\",\n \"videoUrl\": \"https://stream.mux.com/ZU8eW7qKvfB3012i02r5BEWK9zo17waDhNpwIs6BkO01Q00/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Heaven and Earth\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/heaven-and-earth/tr:q-65,w-300/heaven-and-earth_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-PIyXuO8F\",\n \"title\": \"Heaven And Earth\",\n \"filename\": \"heaven-and-earth\",\n \"muxPlaybackId\": \"PIyXuO8FLxa9q9ZSSUXHXCc2pJQH8C009pCXKjuwGxNs\",\n \"videoUrl\": \"https://stream.mux.com/PIyXuO8FLxa9q9ZSSUXHXCc2pJQH8C009pCXKjuwGxNs/high.mp4\"\n },\n {\n \"id\": \"bp-fbFyUVvO\",\n \"title\": \"Temple\",\n \"filename\": \"temple\",\n \"muxPlaybackId\": \"fbFyUVvOlniYph02q69XxExdOYQarVmLfgabCkJDzhRI\",\n \"videoUrl\": \"https://stream.mux.com/fbFyUVvOlniYph02q69XxExdOYQarVmLfgabCkJDzhRI/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Torah\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/torah/tr:q-65,w-300/torah_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-FHE7z76d\",\n \"title\": \"The Law\",\n \"filename\": \"the-law\",\n \"muxPlaybackId\": \"FHE7z76dj01EWaD01NhoU5N94l34Te37K02c9J91hwO3Dg\",\n \"videoUrl\": \"https://stream.mux.com/FHE7z76dj01EWaD01NhoU5N94l34Te37K02c9J91hwO3Dg/high.mp4\"\n },\n {\n \"id\": \"bp-OfeVSkoO\",\n \"title\": \"Jesus Fulfills The Law\",\n \"filename\": \"jesus-fulfills-the-law\",\n \"muxPlaybackId\": \"OfeVSkoOnWcqajEKVZ901iTfWeWs3yN01Xr8bWzF004Yvc\",\n \"videoUrl\": \"https://stream.mux.com/OfeVSkoOnWcqajEKVZ901iTfWeWs3yN01Xr8bWzF004Yvc/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Family of God\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/family-of-god/tr:q-65,w-300/family-of-god_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-3UTz1ikN\",\n \"title\": \"Image Of God\",\n \"filename\": \"image-of-god\",\n \"muxPlaybackId\": \"3UTz1ikNqysuVQ95XjY9Cf4GNHbMl3fZg9jrNutSn7M\",\n \"videoUrl\": \"https://stream.mux.com/3UTz1ikNqysuVQ95XjY9Cf4GNHbMl3fZg9jrNutSn7M/high.mp4\"\n },\n {\n \"id\": \"bp-mHZLgFJe\",\n \"title\": \"The New Humanity\",\n \"filename\": \"the-new-humanity\",\n \"muxPlaybackId\": \"mHZLgFJeSEftylHwz4lrEJmntFEfI3p1wRozJLy3M48\",\n \"videoUrl\": \"https://stream.mux.com/mHZLgFJeSEftylHwz4lrEJmntFEfI3p1wRozJLy3M48/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Wisdom\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/wisdom/tr:q-65,w-300/wisdom_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-b00VCMqw\",\n \"title\": \"Tree Of Life\",\n \"filename\": \"tree-of-life\",\n \"muxPlaybackId\": \"b00VCMqwF8myoXmGxgdK02Esqc5U1Cl00sINcntcUeilS00\",\n \"videoUrl\": \"https://stream.mux.com/b00VCMqwF8myoXmGxgdK02Esqc5U1Cl00sINcntcUeilS00/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Sermon on the Mount\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/sermon-on-the-mount/tr:q-65,w-300/sotm_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-Ikf7tTbh\",\n \"title\": \"The Beatitudes\",\n \"filename\": \"the-beatitudes\",\n \"muxPlaybackId\": \"Ikf7tTbhu7Nba75THD00kHPRPX0100aDAEUxHWgj8ozmI4\",\n \"videoUrl\": \"https://stream.mux.com/Ikf7tTbhu7Nba75THD00kHPRPX0100aDAEUxHWgj8ozmI4/high.mp4\"\n },\n {\n \"id\": \"bp-qfikVrPu\",\n \"title\": \"Warnings About Religious Practices\",\n \"filename\": \"warnings-about-religious-practices\",\n \"muxPlaybackId\": \"qfikVrPuNDqwDyNhAK01buX6KtmE9v6h1G1JCOc0201VNo\",\n \"videoUrl\": \"https://stream.mux.com/qfikVrPuNDqwDyNhAK01buX6KtmE9v6h1G1JCOc0201VNo/high.mp4\"\n },\n {\n \"id\": \"bp-Ok02b3Dg\",\n \"title\": \"The Lords Prayer\",\n \"filename\": \"the-lords-prayer\",\n \"muxPlaybackId\": \"Ok02b3DgDhHj1pqIXldDtkGTMrkrygpUlJpxaCzqq6K4\",\n \"videoUrl\": \"https://stream.mux.com/Ok02b3DgDhHj1pqIXldDtkGTMrkrygpUlJpxaCzqq6K4/high.mp4\"\n },\n {\n \"id\": \"bp-U01wiDwh\",\n \"title\": \"Wealth And Worry\",\n \"filename\": \"wealth-and-worry\",\n \"muxPlaybackId\": \"U01wiDwhj602YJPtukuNGOYLYOiWeaTHwFkI3hhEz5CJE\",\n \"videoUrl\": \"https://stream.mux.com/U01wiDwhj602YJPtukuNGOYLYOiWeaTHwFkI3hhEz5CJE/high.mp4\"\n },\n {\n \"id\": \"bp-QitMM45o\",\n \"title\": \"Matthew 53 16 Beatitudes\",\n \"filename\": \"matthew-53-16-beatitudes\",\n \"muxPlaybackId\": \"QitMM45oBYD4omgwwA01NI3hAStz02PyA1LxYPgFJLsFo\",\n \"videoUrl\": \"https://stream.mux.com/QitMM45oBYD4omgwwA01NI3hAStz02PyA1LxYPgFJLsFo/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"How to Read the Bible\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/how-to-read-the-bible/tr:q-65,w-300/httr_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-hRgtUaEh\",\n \"title\": \"What Is The Bible\",\n \"filename\": \"what-is-the-bible\",\n \"muxPlaybackId\": \"hRgtUaEhBl97k3Y3j9GyVG794KP43ULDBu9gL6tGoa8\",\n \"videoUrl\": \"https://stream.mux.com/hRgtUaEhBl97k3Y3j9GyVG794KP43ULDBu9gL6tGoa8/high.mp4\"\n },\n {\n \"id\": \"bp-SPNOVb3w\",\n \"title\": \"The Story Of The Bible\",\n \"filename\": \"the-story-of-the-bible\",\n \"muxPlaybackId\": \"SPNOVb3wBYm9x027k91yQrXN4RzVoufBU6fVB47Q9nI4\",\n \"videoUrl\": \"https://stream.mux.com/SPNOVb3wBYm9x027k91yQrXN4RzVoufBU6fVB47Q9nI4/high.mp4\"\n },\n {\n \"id\": \"bp-H00BPqi2\",\n \"title\": \"Literary Styles\",\n \"filename\": \"literary-styles\",\n \"muxPlaybackId\": \"H00BPqi2gPe7SzlrlqcAmXWSNI02Ofur02H02Gryhtpb594\",\n \"videoUrl\": \"https://stream.mux.com/H00BPqi2gPe7SzlrlqcAmXWSNI02Ofur02H02Gryhtpb594/high.mp4\"\n },\n {\n \"id\": \"bp-uDc7umNj\",\n \"title\": \"Ancient Jewish Meditation Literature\",\n \"filename\": \"ancient-jewish-meditation-literature\",\n \"muxPlaybackId\": \"uDc7umNjwX9ipf2DfB9Jy4x02PRAWnYKbZ6Eb02SMl00O8\",\n \"videoUrl\": \"https://stream.mux.com/uDc7umNjwX9ipf2DfB9Jy4x02PRAWnYKbZ6Eb02SMl00O8/high.mp4\"\n },\n {\n \"id\": \"bp-lbyTtmpg\",\n \"title\": \"Plot\",\n \"filename\": \"plot\",\n \"muxPlaybackId\": \"lbyTtmpgCaaB9VajL9jMCE457CZd8UmEzdasGntd4p8\",\n \"videoUrl\": \"https://stream.mux.com/lbyTtmpgCaaB9VajL9jMCE457CZd8UmEzdasGntd4p8/high.mp4\"\n },\n {\n \"id\": \"bp-UABvu9l0\",\n \"title\": \"Setting\",\n \"filename\": \"setting\",\n \"muxPlaybackId\": \"UABvu9l01T327INE12Bcy022k89nqraIWUKiMIAXkP01ow\",\n \"videoUrl\": \"https://stream.mux.com/UABvu9l01T327INE12Bcy022k89nqraIWUKiMIAXkP01ow/high.mp4\"\n },\n {\n \"id\": \"bp-73YpsKrz\",\n \"title\": \"Design Patterns\",\n \"filename\": \"design-patterns\",\n \"muxPlaybackId\": \"73YpsKrzNVwA7UXIW1z5evRPPssQVwZFZulpoXdCDNw\",\n \"videoUrl\": \"https://stream.mux.com/73YpsKrzNVwA7UXIW1z5evRPPssQVwZFZulpoXdCDNw/high.mp4\"\n },\n {\n \"id\": \"bp-H1Jf9btm\",\n \"title\": \"Poetry\",\n \"filename\": \"poetry\",\n \"muxPlaybackId\": \"H1Jf9btmzRYbrgwLGd9A7iMSMCJCxGUQkHWt202Sq7Zs\",\n \"videoUrl\": \"https://stream.mux.com/H1Jf9btmzRYbrgwLGd9A7iMSMCJCxGUQkHWt202Sq7Zs/high.mp4\"\n },\n {\n \"id\": \"bp-Os00tKl0\",\n \"title\": \"Poetic Metaphor\",\n \"filename\": \"poetic-metaphor\",\n \"muxPlaybackId\": \"Os00tKl02FxKZ00j0000b4NQjipQeJF01FdfZVstNez8mPJGs\",\n \"videoUrl\": \"https://stream.mux.com/Os00tKl02FxKZ00j0000b4NQjipQeJF01FdfZVstNez8mPJGs/high.mp4\"\n },\n {\n \"id\": \"bp-ivpK101T\",\n \"title\": \"The Prophets\",\n \"filename\": \"the-prophets\",\n \"muxPlaybackId\": \"ivpK101TcDCxH016vFvNYP01xoz8qvRMg2pBnwJUD5NoWM\",\n \"videoUrl\": \"https://stream.mux.com/ivpK101TcDCxH016vFvNYP01xoz8qvRMg2pBnwJUD5NoWM/high.mp4\"\n },\n {\n \"id\": \"bp-00rkXk5l\",\n \"title\": \"The Books Of Solomon\",\n \"filename\": \"the-books-of-solomon\",\n \"muxPlaybackId\": \"00rkXk5lXIqEKMAvjYLiF1nnGivbKUFbDam5oLYRaw0100\",\n \"videoUrl\": \"https://stream.mux.com/00rkXk5lXIqEKMAvjYLiF1nnGivbKUFbDam5oLYRaw0100/high.mp4\"\n },\n {\n \"id\": \"bp-nG2ya1Vl\",\n \"title\": \"The Gospel\",\n \"filename\": \"the-gospel\",\n \"muxPlaybackId\": \"nG2ya1Vlm8wktajESzKIH743Uf8lqRxdN400qlVXTknU\",\n \"videoUrl\": \"https://stream.mux.com/nG2ya1Vlm8wktajESzKIH743Uf8lqRxdN400qlVXTknU/high.mp4\"\n },\n {\n \"id\": \"bp-1Mzy6Mq7\",\n \"title\": \"The Parables Of Jesus\",\n \"filename\": \"the-parables-of-jesus\",\n \"muxPlaybackId\": \"1Mzy6Mq7JU3582ylmmsneAK01ebiGVOxRu01029zhPCD7I\",\n \"videoUrl\": \"https://stream.mux.com/1Mzy6Mq7JU3582ylmmsneAK01ebiGVOxRu01029zhPCD7I/high.mp4\"\n },\n {\n \"id\": \"bp-tUFH502z\",\n \"title\": \"Apocalyptic Literature\",\n \"filename\": \"apocalyptic-literature\",\n \"muxPlaybackId\": \"tUFH502znU6ShKPHoNXJBTwC01ffh5zMpMBsCNOmbY7uI\",\n \"videoUrl\": \"https://stream.mux.com/tUFH502znU6ShKPHoNXJBTwC01ffh5zMpMBsCNOmbY7uI/high.mp4\"\n },\n {\n \"id\": \"bp-UhI3Ictg\",\n \"title\": \"Bible Basics Choosing A Translation\",\n \"filename\": \"bible-basics-choosing-a-translation\",\n \"muxPlaybackId\": \"UhI3IctgJ398RWiOTFS3xf63f6wEnGFdMi00IiLvGVKw\",\n \"videoUrl\": \"https://stream.mux.com/UhI3IctgJ398RWiOTFS3xf63f6wEnGFdMi00IiLvGVKw/high.mp4\"\n },\n {\n \"id\": \"bp-6yFvjdVr\",\n \"title\": \"Bible Basics History Of Bible Translations\",\n \"filename\": \"bible-basics-history-of-bible-translations\",\n \"muxPlaybackId\": \"6yFvjdVrxgs87iq9O8nEGrD7IXSafCVsa66LJU01hg7Y\",\n \"videoUrl\": \"https://stream.mux.com/6yFvjdVrxgs87iq9O8nEGrD7IXSafCVsa66LJU01hg7Y/high.mp4\"\n },\n {\n \"id\": \"bp-kU3e6JQ9\",\n \"title\": \"Bible Basics Jesus Of Nazareth\",\n \"filename\": \"bible-basics-jesus-of-nazareth\",\n \"muxPlaybackId\": \"kU3e6JQ9B7e00Af00LX6SakK8jf63HNMhxmlP02Wn02g5s4\",\n \"videoUrl\": \"https://stream.mux.com/kU3e6JQ9B7e00Af00LX6SakK8jf63HNMhxmlP02Wn02g5s4/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Word Studies\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/word-studies/tr:q-65,w-300/word-studies_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-m9B95nhe\",\n \"title\": \"Character\",\n \"filename\": \"character\",\n \"muxPlaybackId\": \"m9B95nheGFZK52dBd802IuTYswvVun0100aRqnM8ZwBGq8\",\n \"videoUrl\": \"https://stream.mux.com/m9B95nheGFZK52dBd802IuTYswvVun0100aRqnM8ZwBGq8/high.mp4\"\n },\n {\n \"id\": \"bp-lNIc8mRL\",\n \"title\": \"Character Insight John The Baptizer\",\n \"filename\": \"character-insight-john-the-baptizer\",\n \"muxPlaybackId\": \"lNIc8mRLzl200UXFQljUKoGZGOt102osVsddMbi9iLblg\",\n \"videoUrl\": \"https://stream.mux.com/lNIc8mRLzl200UXFQljUKoGZGOt102osVsddMbi9iLblg/high.mp4\"\n },\n {\n \"id\": \"bp-XsdrLkix\",\n \"title\": \"Character Insight Elijah\",\n \"filename\": \"character-insight-elijah\",\n \"muxPlaybackId\": \"XsdrLkixrOIQkK01PbqkgunI6lXqrjibwSvkOQxTVHFs\",\n \"videoUrl\": \"https://stream.mux.com/XsdrLkixrOIQkK01PbqkgunI6lXqrjibwSvkOQxTVHFs/high.mp4\"\n },\n {\n \"id\": \"bp-sBUvn02T\",\n \"title\": \"Euangelion Gospel\",\n \"filename\": \"euangelion-gospel\",\n \"muxPlaybackId\": \"sBUvn02TuCwrwreRj2SyRV6RVCX33SUkKteJL7ABolj8\",\n \"videoUrl\": \"https://stream.mux.com/sBUvn02TuCwrwreRj2SyRV6RVCX33SUkKteJL7ABolj8/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/WS_Gospel_Poster.jpg\"\n },\n {\n \"id\": \"bp-W00Hpd1T\",\n \"title\": \"Martus Witness\",\n \"filename\": \"martus-witness\",\n \"muxPlaybackId\": \"W00Hpd1TIzozLLJhuNuHBas6CSvWuMErET9e6OmcWORo\",\n \"videoUrl\": \"https://stream.mux.com/W00Hpd1TIzozLLJhuNuHBas6CSvWuMErET9e6OmcWORo/high.mp4\"\n },\n {\n \"id\": \"bp-fmYgGW00\",\n \"title\": \"Khata Sin\",\n \"filename\": \"khata-sin\",\n \"muxPlaybackId\": \"fmYgGW00ZJ300q3hITLl9CqD1oDakeDhGjDYQe4d01Ht9M\",\n \"videoUrl\": \"https://stream.mux.com/fmYgGW00ZJ300q3hITLl9CqD1oDakeDhGjDYQe4d01Ht9M/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/WS_BadWords01_Poster.jpg_UPDATED.jpg\"\n },\n {\n \"id\": \"bp-A4kS2pMG\",\n \"title\": \"Pesha Transgression\",\n \"filename\": \"pesha-transgression\",\n \"muxPlaybackId\": \"A4kS2pMGUMw9u3gFhUwz8t95RUngVfV9402xe02gPsS8g\",\n \"videoUrl\": \"https://stream.mux.com/A4kS2pMGUMw9u3gFhUwz8t95RUngVfV9402xe02gPsS8g/high.mp4\"\n },\n {\n \"id\": \"bp-i01guEc1\",\n \"title\": \"Avon Iniquity\",\n \"filename\": \"avon-iniquity\",\n \"muxPlaybackId\": \"i01guEc1XR8dxzyNjnEYvlK9zXoA5U01hwGFHp7nKI50200\",\n \"videoUrl\": \"https://stream.mux.com/i01guEc1XR8dxzyNjnEYvlK9zXoA5U01hwGFHp7nKI50200/high.mp4\"\n },\n {\n \"id\": \"bp-heWJy3SA\",\n \"title\": \"Yakhal Hope\",\n \"filename\": \"yakhal-hope\",\n \"muxPlaybackId\": \"heWJy3SAYNWL3Y6hyHe52gqS02NaGMke7wIADb301Xldw\",\n \"videoUrl\": \"https://stream.mux.com/heWJy3SAYNWL3Y6hyHe52gqS02NaGMke7wIADb301Xldw/high.mp4\"\n },\n {\n \"id\": \"bp-AcvvK00F\",\n \"title\": \"Shalom Peace\",\n \"filename\": \"shalom-peace\",\n \"muxPlaybackId\": \"AcvvK00FUODUIzf7YN00BlR8WD9S4102fq5ZltQVPmtqag\",\n \"videoUrl\": \"https://stream.mux.com/AcvvK00FUODUIzf7YN00BlR8WD9S4102fq5ZltQVPmtqag/high.mp4\"\n },\n {\n \"id\": \"bp-xqCSMD5T\",\n \"title\": \"Chara Joy\",\n \"filename\": \"chara-joy\",\n \"muxPlaybackId\": \"xqCSMD5TvEzGWv00wGnDgiqwBP6446r3IaH49Tcycg7w\",\n \"videoUrl\": \"https://stream.mux.com/xqCSMD5TvEzGWv00wGnDgiqwBP6446r3IaH49Tcycg7w/high.mp4\"\n },\n {\n \"id\": \"bp-29r9CF5y\",\n \"title\": \"Agape Love\",\n \"filename\": \"agape-love\",\n \"muxPlaybackId\": \"29r9CF5y4wUm6JRNoDILIcBKULUc01KiKbY4fIU9YV1A\",\n \"videoUrl\": \"https://stream.mux.com/29r9CF5y4wUm6JRNoDILIcBKULUc01KiKbY4fIU9YV1A/high.mp4\"\n },\n {\n \"id\": \"bp-00tiHFX7\",\n \"title\": \"Yhwh Lord\",\n \"filename\": \"yhwh-lord\",\n \"muxPlaybackId\": \"00tiHFX7wUjR9Eoe4RB901qGWnPGdgpsyvi006Xsu5YGEc\",\n \"videoUrl\": \"https://stream.mux.com/00tiHFX7wUjR9Eoe4RB901qGWnPGdgpsyvi006Xsu5YGEc/high.mp4\"\n },\n {\n \"id\": \"bp-02fzcFCk\",\n \"title\": \"Ahavah Love\",\n \"filename\": \"ahavah-love\",\n \"muxPlaybackId\": \"02fzcFCkO02rQYWuNVy45vTqZQ4DsDetXS01Mvy1GWwDgw\",\n \"videoUrl\": \"https://stream.mux.com/02fzcFCkO02rQYWuNVy45vTqZQ4DsDetXS01Mvy1GWwDgw/high.mp4\"\n },\n {\n \"id\": \"bp-Wa3KbP13\",\n \"title\": \"Lev Heart\",\n \"filename\": \"lev-heart\",\n \"muxPlaybackId\": \"Wa3KbP13K005RL00GuHYpY50002UbI00nfYe5MjhiRoa3ba8\",\n \"videoUrl\": \"https://stream.mux.com/Wa3KbP13K005RL00GuHYpY50002UbI00nfYe5MjhiRoa3ba8/high.mp4\"\n },\n {\n \"id\": \"bp-LKioExaK\",\n \"title\": \"Nephesh Soul\",\n \"filename\": \"nephesh-soul\",\n \"muxPlaybackId\": \"LKioExaKEC3c21F17Qz4doyMIwRRI025ZWE9sVgehG9s\",\n \"videoUrl\": \"https://stream.mux.com/LKioExaKEC3c21F17Qz4doyMIwRRI025ZWE9sVgehG9s/high.mp4\"\n },\n {\n \"id\": \"bp-lILQdGL8\",\n \"title\": \"Meod Strength\",\n \"filename\": \"meod-strength\",\n \"muxPlaybackId\": \"lILQdGL8N2Bpmno6jD9l1MSm9901qwC542f00U64AodBU\",\n \"videoUrl\": \"https://stream.mux.com/lILQdGL8N2Bpmno6jD9l1MSm9901qwC542f00U64AodBU/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Insights\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/insights/tr:q-65,w-300/insights_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-qLPJWQy1\",\n \"title\": \"Vocab Insight Nissah Test\",\n \"filename\": \"vocab-insight-nissah-test\",\n \"muxPlaybackId\": \"qLPJWQy1eCn7eVWxrbKnQPkhGtVTZGugWqCbAR01SO4Q\",\n \"videoUrl\": \"https://stream.mux.com/qLPJWQy1eCn7eVWxrbKnQPkhGtVTZGugWqCbAR01SO4Q/high.mp4\"\n },\n {\n \"id\": \"bp-zUef523s\",\n \"title\": \"Vocab Insight Midbar Wilderness\",\n \"filename\": \"vocab-insight-midbar-wilderness\",\n \"muxPlaybackId\": \"zUef523sJdXC01QoyBwgZy2c8hLIFkcW101TP9TYhZgpQ\",\n \"videoUrl\": \"https://stream.mux.com/zUef523sJdXC01QoyBwgZy2c8hLIFkcW101TP9TYhZgpQ/high.mp4\"\n },\n {\n \"id\": \"bp-lY7ItKIL\",\n \"title\": \"Vocab Insight Kopher Ransom\",\n \"filename\": \"vocab-insight-kopher-ransom\",\n \"muxPlaybackId\": \"lY7ItKILwU3KFlGy3zslkP3fwhq6GafoFbJ7AU00oDNE\",\n \"videoUrl\": \"https://stream.mux.com/lY7ItKILwU3KFlGy3zslkP3fwhq6GafoFbJ7AU00oDNE/high.mp4\"\n },\n {\n \"id\": \"bp-rTamJf4n\",\n \"title\": \"Vocab Insight Gaal Redeem\",\n \"filename\": \"vocab-insight-gaal-redeem\",\n \"muxPlaybackId\": \"rTamJf4nGsYZMBM1Whw5ezt402Hg2LjsPol49r6lyxaM\",\n \"videoUrl\": \"https://stream.mux.com/rTamJf4nGsYZMBM1Whw5ezt402Hg2LjsPol49r6lyxaM/high.mp4\"\n },\n {\n \"id\": \"bp-n2cv00EX\",\n \"title\": \"Vocab Insight Avad Serve Work\",\n \"filename\": \"vocab-insight-avad-serve-work\",\n \"muxPlaybackId\": \"n2cv00EX3SbtyvI5UsYQGHVe006wYz3q7f00ZG5uObyVc4\",\n \"videoUrl\": \"https://stream.mux.com/n2cv00EX3SbtyvI5UsYQGHVe006wYz3q7f00ZG5uObyVc4/high.mp4\"\n },\n {\n \"id\": \"bp-02nm3YWi\",\n \"title\": \"Vocab Insight Zakar Remember\",\n \"filename\": \"vocab-insight-zakar-remember\",\n \"muxPlaybackId\": \"02nm3YWiwfE01i94sus1n01qUJ8WcDzyty9ZLKUDnUPYko\",\n \"videoUrl\": \"https://stream.mux.com/02nm3YWiwfE01i94sus1n01qUJ8WcDzyty9ZLKUDnUPYko/high.mp4\"\n },\n {\n \"id\": \"bp-zml25vSh\",\n \"title\": \"Vocab Insight Ot Sign\",\n \"filename\": \"vocab-insight-ot-sign\",\n \"muxPlaybackId\": \"zml25vSh02FE02gxOKkH6CuHhWeApRyiJe0002Cr2fMc01g00\",\n \"videoUrl\": \"https://stream.mux.com/zml25vSh02FE02gxOKkH6CuHhWeApRyiJe0002Cr2fMc01g00/high.mp4\"\n },\n {\n \"id\": \"bp-YVnkHZNb\",\n \"title\": \"Vocab Insight Tseaqah Outcry\",\n \"filename\": \"vocab-insight-tseaqah-outcry\",\n \"muxPlaybackId\": \"YVnkHZNb01HZq5yj2aYz6INP02N7jJ48MvxWchuLizCpc\",\n \"videoUrl\": \"https://stream.mux.com/YVnkHZNb01HZq5yj2aYz6INP02N7jJ48MvxWchuLizCpc/high.mp4\"\n },\n {\n \"id\": \"bp-yTwajq00\",\n \"title\": \"Passage Insight Good Tree Vs Bad Tree\",\n \"filename\": \"passage-insight-good-tree-vs-bad-tree\",\n \"muxPlaybackId\": \"yTwajq00UB2zbSEtYljMj3dsGu7mqA7byiaHtDPy1fJM\",\n \"videoUrl\": \"https://stream.mux.com/yTwajq00UB2zbSEtYljMj3dsGu7mqA7byiaHtDPy1fJM/high.mp4\"\n },\n {\n \"id\": \"bp-JNKuG7jo\",\n \"title\": \"Passage Insight Speck In The Eye\",\n \"filename\": \"passage-insight-speck-in-the-eye\",\n \"muxPlaybackId\": \"JNKuG7jo9dHTDtWtgiNThuld2JS6G83DQmxGxCrcVFQ\",\n \"videoUrl\": \"https://stream.mux.com/JNKuG7jo9dHTDtWtgiNThuld2JS6G83DQmxGxCrcVFQ/high.mp4\"\n },\n {\n \"id\": \"bp-gtHI9Fse\",\n \"title\": \"Vocab Insight Basileia Kingdom\",\n \"filename\": \"vocab-insight-basileia-kingdom\",\n \"muxPlaybackId\": \"gtHI9FseS88blMMuiYOVdnpLwmn1d02f302n6mAZdMd2w\",\n \"videoUrl\": \"https://stream.mux.com/gtHI9FseS88blMMuiYOVdnpLwmn1d02f302n6mAZdMd2w/high.mp4\"\n },\n {\n \"id\": \"bp-ffOmi02v\",\n \"title\": \"Passage Insight Do Not Worry\",\n \"filename\": \"passage-insight-do-not-worry\",\n \"muxPlaybackId\": \"ffOmi02vVF00m53JRcNi97hBXE01HkhiPLg2f501L1Wr4UM\",\n \"videoUrl\": \"https://stream.mux.com/ffOmi02vVF00m53JRcNi97hBXE01HkhiPLg2f501L1Wr4UM/high.mp4\"\n },\n {\n \"id\": \"bp-DS02VBpQ\",\n \"title\": \"Vocab Insight Mammon Wealth\",\n \"filename\": \"vocab-insight-mammon-wealth\",\n \"muxPlaybackId\": \"DS02VBpQtv8rHRN4JIC3UoF00sOf0200yX2TPwny3tOOaKY\",\n \"videoUrl\": \"https://stream.mux.com/DS02VBpQtv8rHRN4JIC3UoF00sOf0200yX2TPwny3tOOaKY/high.mp4\"\n },\n {\n \"id\": \"bp-00fLzm15\",\n \"title\": \"Passage Insight Purpose Of Fasting\",\n \"filename\": \"passage-insight-purpose-of-fasting\",\n \"muxPlaybackId\": \"00fLzm156kyv94Wj017gCjrcGLUk3GBJC4ATboAVl02pJY\",\n \"videoUrl\": \"https://stream.mux.com/00fLzm156kyv94Wj017gCjrcGLUk3GBJC4ATboAVl02pJY/high.mp4\"\n },\n {\n \"id\": \"bp-dqmY1s8x\",\n \"title\": \"Vocab Insight Teleios Whole\",\n \"filename\": \"vocab-insight-teleios-whole\",\n \"muxPlaybackId\": \"dqmY1s8xTmPu4FR43G5bLqqRSG6dHaEEVZ45Xxuwt2o\",\n \"videoUrl\": \"https://stream.mux.com/dqmY1s8xTmPu4FR43G5bLqqRSG6dHaEEVZ45Xxuwt2o/high.mp4\"\n },\n {\n \"id\": \"bp-8HmUbdzV\",\n \"title\": \"Passage Insight Creative Nonviolence\",\n \"filename\": \"passage-insight-creative-nonviolence\",\n \"muxPlaybackId\": \"8HmUbdzVV2vMhPYs1a7ZTFXQwjNRGSzzPmNCUW1SbLU\",\n \"videoUrl\": \"https://stream.mux.com/8HmUbdzVV2vMhPYs1a7ZTFXQwjNRGSzzPmNCUW1SbLU/high.mp4\"\n },\n {\n \"id\": \"bp-MJdn1lzb\",\n \"title\": \"Vocab Insight Gehenna Valley Of Wailing\",\n \"filename\": \"vocab-insight-gehenna-valley-of-wailing\",\n \"muxPlaybackId\": \"MJdn1lzbsTyqAX5ja9jmtqRbRGtdj11Bhbm2B1OGvAg\",\n \"videoUrl\": \"https://stream.mux.com/MJdn1lzbsTyqAX5ja9jmtqRbRGtdj11Bhbm2B1OGvAg/high.mp4\"\n },\n {\n \"id\": \"bp-ulIlrXkH\",\n \"title\": \"Vocab Insight Dikaiosune Righteousness\",\n \"filename\": \"vocab-insight-dikaiosune-righteousness\",\n \"muxPlaybackId\": \"ulIlrXkH02M7bZb2NzOFDyzb9SoWDbI02iJthGS6oFWSs\",\n \"videoUrl\": \"https://stream.mux.com/ulIlrXkH02M7bZb2NzOFDyzb9SoWDbI02iJthGS6oFWSs/high.mp4\"\n },\n {\n \"id\": \"bp-VcInXXv6\",\n \"title\": \"Vocab Insight Torah Instruction\",\n \"filename\": \"vocab-insight-torah-instruction\",\n \"muxPlaybackId\": \"VcInXXv6p01XRTPbG01HHKW901Eqio2er1eWZYTwcAUBOA\",\n \"videoUrl\": \"https://stream.mux.com/VcInXXv6p01XRTPbG01HHKW901Eqio2er1eWZYTwcAUBOA/high.mp4\"\n },\n {\n \"id\": \"bp-tkL3bVdM\",\n \"title\": \"Vocab Insight Dam Blood\",\n \"filename\": \"vocab-insight-dam-blood\",\n \"muxPlaybackId\": \"tkL3bVdMKNYKKmtyDZRRWttU8m8JUtuKQa3yDCvf7d8\",\n \"videoUrl\": \"https://stream.mux.com/tkL3bVdMKNYKKmtyDZRRWttU8m8JUtuKQa3yDCvf7d8/high.mp4\"\n },\n {\n \"id\": \"bp-p6sgzpA7\",\n \"title\": \"Vocab Insight Erets Land\",\n \"filename\": \"vocab-insight-erets-land\",\n \"muxPlaybackId\": \"p6sgzpA7blvqk3DgK58R00YCWFSNYxREh02YvSLpxgO6U\",\n \"videoUrl\": \"https://stream.mux.com/p6sgzpA7blvqk3DgK58R00YCWFSNYxREh02YvSLpxgO6U/high.mp4\"\n },\n {\n \"id\": \"bp-G802Wy6R\",\n \"title\": \"Vocab Insight Tannin Dragon\",\n \"filename\": \"vocab-insight-tannin-dragon\",\n \"muxPlaybackId\": \"G802Wy6Rk02joQ8j00QzgKvguABbdPd538feAKi5JY8OQQ\",\n \"videoUrl\": \"https://stream.mux.com/G802Wy6Rk02joQ8j00QzgKvguABbdPd538feAKi5JY8OQQ/high.mp4\"\n },\n {\n \"id\": \"bp-02DXqA4X\",\n \"title\": \"Vocab Insight Tov Good\",\n \"filename\": \"vocab-insight-tov-good\",\n \"muxPlaybackId\": \"02DXqA4Xg9ZCDfnfDObYpfxPLYNrtjfunEHMJhrkDixk\",\n \"videoUrl\": \"https://stream.mux.com/02DXqA4Xg9ZCDfnfDObYpfxPLYNrtjfunEHMJhrkDixk/high.mp4\"\n },\n {\n \"id\": \"bp-DiauTXFs\",\n \"title\": \"Vocab Insight Ets Tree\",\n \"filename\": \"vocab-insight-ets-tree\",\n \"muxPlaybackId\": \"DiauTXFsa944h6KNpRkVebE008VhfMAY5dLqM02nVtU01g\",\n \"videoUrl\": \"https://stream.mux.com/DiauTXFsa944h6KNpRkVebE008VhfMAY5dLqM02nVtU01g/high.mp4\"\n },\n {\n \"id\": \"bp-beP4J00O\",\n \"title\": \"Vocab Insight Shamayim Skies\",\n \"filename\": \"vocab-insight-shamayim-skies\",\n \"muxPlaybackId\": \"beP4J00OrIRXYpBImN1onbbF003jHoqrhZPwL5Xs02kXU8\",\n \"videoUrl\": \"https://stream.mux.com/beP4J00OrIRXYpBImN1onbbF003jHoqrhZPwL5Xs02kXU8/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Spiritual Beings\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/spiritual-beings/tr:q-65,w-300/spiritual-beings_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-PTRGt1Vg\",\n \"title\": \"Intro To Spiritual Beings\",\n \"filename\": \"intro-to-spiritual-beings\",\n \"muxPlaybackId\": \"PTRGt1VgegLyZHYTaOcXu003Q3BkJZ2Uqh01cOCrzn02pQ\",\n \"videoUrl\": \"https://stream.mux.com/PTRGt1VgegLyZHYTaOcXu003Q3BkJZ2Uqh01cOCrzn02pQ/high.mp4\"\n },\n {\n \"id\": \"bp-BcTDDkHz\",\n \"title\": \"Divine Council\",\n \"filename\": \"divine-council\",\n \"muxPlaybackId\": \"BcTDDkHzOh02jaiw01DPeT69Py01UZdQAA02bH7W00Q880000E\",\n \"videoUrl\": \"https://stream.mux.com/BcTDDkHzOh02jaiw01DPeT69Py01UZdQAA02bH7W00Q880000E/high.mp4\"\n },\n {\n \"id\": \"bp-4008X7dC\",\n \"title\": \"Angels And Cherubim\",\n \"filename\": \"angels-and-cherubim\",\n \"muxPlaybackId\": \"4008X7dCVeYqNkjqlHBfCBqje9YzILCud7r00JG6QIIwI\",\n \"videoUrl\": \"https://stream.mux.com/4008X7dCVeYqNkjqlHBfCBqje9YzILCud7r00JG6QIIwI/high.mp4\"\n },\n {\n \"id\": \"bp-5BHVFSzj\",\n \"title\": \"Angel Of The Lord\",\n \"filename\": \"angel-of-the-lord\",\n \"muxPlaybackId\": \"5BHVFSzjj1qGw7eFFiPFnz202p5PSkTghh3LWOi4dvsk\",\n \"videoUrl\": \"https://stream.mux.com/5BHVFSzjj1qGw7eFFiPFnz202p5PSkTghh3LWOi4dvsk/high.mp4\"\n },\n {\n \"id\": \"bp-wfNFTuM9\",\n \"title\": \"The Satan And Demons\",\n \"filename\": \"the-satan-and-demons\",\n \"muxPlaybackId\": \"wfNFTuM9dhzOfOk8UJmSEBgQcHXXLvATzKw402Fhskik\",\n \"videoUrl\": \"https://stream.mux.com/wfNFTuM9dhzOfOk8UJmSEBgQcHXXLvATzKw402Fhskik/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Character of God\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/character-of-god/tr:q-65,w-300/character-of-god_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-N3AnsNCz\",\n \"title\": \"Elohim\",\n \"filename\": \"elohim\",\n \"muxPlaybackId\": \"N3AnsNCz1OIXI700w5rGO00JX01LmfzoRntluIj9NTH2HI\",\n \"videoUrl\": \"https://stream.mux.com/N3AnsNCz1OIXI700w5rGO00JX01LmfzoRntluIj9NTH2HI/high.mp4\"\n },\n {\n \"id\": \"bp-JpuAhWoj\",\n \"title\": \"Compassion\",\n \"filename\": \"compassion\",\n \"muxPlaybackId\": \"JpuAhWojl2jdvdmGRvMrUnS9NDB1JA8RuoVNw1z4xJk\",\n \"videoUrl\": \"https://stream.mux.com/JpuAhWojl2jdvdmGRvMrUnS9NDB1JA8RuoVNw1z4xJk/high.mp4\"\n },\n {\n \"id\": \"bp-Tkl7o1Xs\",\n \"title\": \"Grace\",\n \"filename\": \"grace\",\n \"muxPlaybackId\": \"Tkl7o1XsC5oPuOUD4eXjzBCkh6KwagG9XQJsjM01300eo\",\n \"videoUrl\": \"https://stream.mux.com/Tkl7o1XsC5oPuOUD4eXjzBCkh6KwagG9XQJsjM01300eo/high.mp4\"\n },\n {\n \"id\": \"bp-2kAHepEr\",\n \"title\": \"Slow To Anger\",\n \"filename\": \"slow-to-anger\",\n \"muxPlaybackId\": \"2kAHepEr200X6njitmKW6uhKRaAvZL3m4CqvEGq6F3nU\",\n \"videoUrl\": \"https://stream.mux.com/2kAHepEr200X6njitmKW6uhKRaAvZL3m4CqvEGq6F3nU/high.mp4\"\n },\n {\n \"id\": \"bp-hpLwKf00\",\n \"title\": \"Loyal Love\",\n \"filename\": \"loyal-love\",\n \"muxPlaybackId\": \"hpLwKf00Sdlgv01Nwk4pjdoq9BLYOlKTXAjD7J1Cbn8AE\",\n \"videoUrl\": \"https://stream.mux.com/hpLwKf00Sdlgv01Nwk4pjdoq9BLYOlKTXAjD7J1Cbn8AE/high.mp4\"\n },\n {\n \"id\": \"bp-gmD02AQL\",\n \"title\": \"Faithful\",\n \"filename\": \"faithful\",\n \"muxPlaybackId\": \"gmD02AQLqIQ008hWiZiSn5p00teQKSEWtz5E01myRidVEjY\",\n \"videoUrl\": \"https://stream.mux.com/gmD02AQLqIQ008hWiZiSn5p00teQKSEWtz5E01myRidVEjY/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Royal Priesthood\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/royal-priesthood/tr:q-65,w-300/royal-priesthood_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-8p4il00W\",\n \"title\": \"Royal Priests Of Eden\",\n \"filename\": \"royal-priests-of-eden\",\n \"muxPlaybackId\": \"8p4il00WolHQf5K3RsK71Y2Q5Pk5VO7XIA3RfjnD6VPc\",\n \"videoUrl\": \"https://stream.mux.com/8p4il00WolHQf5K3RsK71Y2Q5Pk5VO7XIA3RfjnD6VPc/high.mp4\"\n },\n {\n \"id\": \"bp-l00sx7Hz\",\n \"title\": \"Abraham And Melchizedek\",\n \"filename\": \"abraham-and-melchizedek\",\n \"muxPlaybackId\": \"l00sx7HzULLLbB3lpC4TO2VbhjMH8uvR01isJSZKsWSXo\",\n \"videoUrl\": \"https://stream.mux.com/l00sx7HzULLLbB3lpC4TO2VbhjMH8uvR01isJSZKsWSXo/high.mp4\"\n },\n {\n \"id\": \"bp-vjuLLWtw\",\n \"title\": \"Moses And Aaron\",\n \"filename\": \"moses-and-aaron\",\n \"muxPlaybackId\": \"vjuLLWtwtDuA01Tr00H8Ift3tkA7gFnFvfB6R4005IyPus\",\n \"videoUrl\": \"https://stream.mux.com/vjuLLWtwtDuA01Tr00H8Ift3tkA7gFnFvfB6R4005IyPus/high.mp4\"\n },\n {\n \"id\": \"bp-cXHWwLIP\",\n \"title\": \"David The Priestly King\",\n \"filename\": \"david-the-priestly-king\",\n \"muxPlaybackId\": \"cXHWwLIPnwMS8zA1xDjWiuvKBGCQdupU01mCrl84QDV8\",\n \"videoUrl\": \"https://stream.mux.com/cXHWwLIPnwMS8zA1xDjWiuvKBGCQdupU01mCrl84QDV8/high.mp4\"\n },\n {\n \"id\": \"bp-deZeEuI2\",\n \"title\": \"Jesus The Royal Priest\",\n \"filename\": \"jesus-the-royal-priest\",\n \"muxPlaybackId\": \"deZeEuI2k9Os8V015BOttqLQIqskWtXmj3xUv01E02MgPA\",\n \"videoUrl\": \"https://stream.mux.com/deZeEuI2k9Os8V015BOttqLQIqskWtXmj3xUv01E02MgPA/high.mp4\"\n },\n {\n \"id\": \"bp-JdITfnZv\",\n \"title\": \"The Royal Priesthood\",\n \"filename\": \"the-royal-priesthood\",\n \"muxPlaybackId\": \"JdITfnZvu5s3YuSUUWByULbnlsitIBk6701oDuFGg023c\",\n \"videoUrl\": \"https://stream.mux.com/JdITfnZvu5s3YuSUUWByULbnlsitIBk6701oDuFGg023c/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Passover\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/passover/tr:q-65,w-300/passover_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-vkwKpbbG\",\n \"title\": \"What Is Passover\",\n \"filename\": \"what-is-passover\",\n \"muxPlaybackId\": \"vkwKpbbGyDf02COrF7QDK0201Tqv53F00rtf6mhqQ9M9myU\",\n \"videoUrl\": \"https://stream.mux.com/vkwKpbbGyDf02COrF7QDK0201Tqv53F00rtf6mhqQ9M9myU/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"The Shema\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/shema/tr:q-65,w-300/shema_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-Ks1uOCtY\",\n \"title\": \"Shema Listen\",\n \"filename\": \"shema-listen\",\n \"muxPlaybackId\": \"Ks1uOCtYwhtXi02vF4PmkzIQNOv9csiTFp0166cM2Zjks\",\n \"videoUrl\": \"https://stream.mux.com/Ks1uOCtYwhtXi02vF4PmkzIQNOv9csiTFp0166cM2Zjks/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/WS01_Poster01_UPDATED.jpg\"\n }\n ]\n },\n {\n \"name\": \"Deuterocanon\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/deuterocanon/tr:q-65,w-300/deuterocanon_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-3WAGrzrB\",\n \"title\": \"The Deuterocanon Apocrypha Overview\",\n \"filename\": \"the-deuterocanon-apocrypha-overview\",\n \"muxPlaybackId\": \"3WAGrzrB4r101iN7XyfvaaYxFV027gp91kWfcDIn01cQHg\",\n \"videoUrl\": \"https://stream.mux.com/3WAGrzrB4r101iN7XyfvaaYxFV027gp91kWfcDIn01cQHg/high.mp4\"\n },\n {\n \"id\": \"bp-qSQvWGWU\",\n \"title\": \"Tobit\",\n \"filename\": \"tobit\",\n \"muxPlaybackId\": \"qSQvWGWU5pWd13Bhvlup5g1KC01ZkolK7101xR01jtfFcY\",\n \"videoUrl\": \"https://stream.mux.com/qSQvWGWU5pWd13Bhvlup5g1KC01ZkolK7101xR01jtfFcY/high.mp4\"\n },\n {\n \"id\": \"bp-JOlO4O01\",\n \"title\": \"Judith\",\n \"filename\": \"judith\",\n \"muxPlaybackId\": \"JOlO4O01pByVV4J3018vyWOcJiBSKODl5YpGKLTJm924U\",\n \"videoUrl\": \"https://stream.mux.com/JOlO4O01pByVV4J3018vyWOcJiBSKODl5YpGKLTJm924U/high.mp4\"\n },\n {\n \"id\": \"bp-py8CVk4E\",\n \"title\": \"1 Maccabees\",\n \"filename\": \"1-maccabees\",\n \"muxPlaybackId\": \"py8CVk4EblqO2N9q3CUiktYosM1ZxZymX9symLZI00Yc\",\n \"videoUrl\": \"https://stream.mux.com/py8CVk4EblqO2N9q3CUiktYosM1ZxZymX9symLZI00Yc/high.mp4\"\n },\n {\n \"id\": \"bp-YwbgY1wK\",\n \"title\": \"2 Maccabees\",\n \"filename\": \"2-maccabees\",\n \"muxPlaybackId\": \"YwbgY1wKWIP4GGZdTsITtpquMHTj01FGy5nEwFNzUdOI\",\n \"videoUrl\": \"https://stream.mux.com/YwbgY1wKWIP4GGZdTsITtpquMHTj01FGy5nEwFNzUdOI/high.mp4\"\n },\n {\n \"id\": \"bp-vrW8bnYF\",\n \"title\": \"The Wisdom Of Solomon\",\n \"filename\": \"the-wisdom-of-solomon\",\n \"muxPlaybackId\": \"vrW8bnYFUL5Lp601aEs6MQVXS3nBZUAWnXqIZSMEPjvo\",\n \"videoUrl\": \"https://stream.mux.com/vrW8bnYFUL5Lp601aEs6MQVXS3nBZUAWnXqIZSMEPjvo/high.mp4\"\n },\n {\n \"id\": \"bp-yyqbf4nb\",\n \"title\": \"Baruch And The Letter Of Jeremiah\",\n \"filename\": \"baruch-and-the-letter-of-jeremiah\",\n \"muxPlaybackId\": \"yyqbf4nbOu7fZnIjjsHKQEZdpyRy2hyrC2XXpIbb2S4\",\n \"videoUrl\": \"https://stream.mux.com/yyqbf4nbOu7fZnIjjsHKQEZdpyRy2hyrC2XXpIbb2S4/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Streetlights Remix\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/streetlights-remix/tr:q-65,w-300/streetlights-remix_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-ZP01aRPI\",\n \"title\": \"1 3 John Overview Explainer Streetlights Remix\",\n \"filename\": \"1-3-john-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"ZP01aRPIySSK3zsPABtAu7VV01cCvT3yFtVnLDcB1WgsI\",\n \"videoUrl\": \"https://stream.mux.com/ZP01aRPIySSK3zsPABtAu7VV01cCvT3yFtVnLDcB1WgsI/high.mp4\"\n },\n {\n \"id\": \"bp-UQLt012L\",\n \"title\": \"1 Corinthians Overview Explainer Streetlights Remix\",\n \"filename\": \"1-corinthians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"UQLt012LDROSr2IM2qsrgxPPowFTzdi024zcmkWratviY\",\n \"videoUrl\": \"https://stream.mux.com/UQLt012LDROSr2IM2qsrgxPPowFTzdi024zcmkWratviY/high.mp4\"\n },\n {\n \"id\": \"bp-cMQAU3nx\",\n \"title\": \"1 Peter Overview Explainer Streetlights Remix\",\n \"filename\": \"1-peter-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"cMQAU3nxEJemKbLnSFMGvbc1UG700o76cqy2tCTIuOiQ\",\n \"videoUrl\": \"https://stream.mux.com/cMQAU3nxEJemKbLnSFMGvbc1UG700o76cqy2tCTIuOiQ/high.mp4\"\n },\n {\n \"id\": \"bp-Y01wNu7G\",\n \"title\": \"1 Thessalonians Overview Explainer Streetlights Remix\",\n \"filename\": \"1-thessalonians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"Y01wNu7GHv9dFTuOOYChmYIpxtiu9JiIRsBafIBDxAr4\",\n \"videoUrl\": \"https://stream.mux.com/Y01wNu7GHv9dFTuOOYChmYIpxtiu9JiIRsBafIBDxAr4/high.mp4\"\n },\n {\n \"id\": \"bp-B5jsgt5l\",\n \"title\": \"1 Timothy Overview Explainer Streetlights Remix\",\n \"filename\": \"1-timothy-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"B5jsgt5lbQb42Y02FCe00UrXlg41bh6bPqCHjCC3bqKas\",\n \"videoUrl\": \"https://stream.mux.com/B5jsgt5lbQb42Y02FCe00UrXlg41bh6bPqCHjCC3bqKas/high.mp4\"\n },\n {\n \"id\": \"bp-uk02dMSV\",\n \"title\": \"2 Corinthians Overview Explainer Streetlights Remix\",\n \"filename\": \"2-corinthians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"uk02dMSVxeY53gvbAauGvhvFa2r01zCDsNA003ud493vBc\",\n \"videoUrl\": \"https://stream.mux.com/uk02dMSVxeY53gvbAauGvhvFa2r01zCDsNA003ud493vBc/high.mp4\"\n },\n {\n \"id\": \"bp-uNXW5bf2\",\n \"title\": \"2 Peter Overview Explainer Streetlights Remix\",\n \"filename\": \"2-peter-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"uNXW5bf2UC82H9FkAbvltysJ6HIQYb4n3sVkLDOFQnk\",\n \"videoUrl\": \"https://stream.mux.com/uNXW5bf2UC82H9FkAbvltysJ6HIQYb4n3sVkLDOFQnk/high.mp4\"\n },\n {\n \"id\": \"bp-00eLtmUL\",\n \"title\": \"2 Thessalonians Overview Explainer Streetlights Remix\",\n \"filename\": \"2-thessalonians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"00eLtmULNvBlU2P29uWBl3axPEEDM75y8LV1H0143o1sM\",\n \"videoUrl\": \"https://stream.mux.com/00eLtmULNvBlU2P29uWBl3axPEEDM75y8LV1H0143o1sM/high.mp4\"\n },\n {\n \"id\": \"bp-oJNgJecO\",\n \"title\": \"2 Timothy Overview Explainer Streetlights Remix\",\n \"filename\": \"2-timothy-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"oJNgJecOHjye2u400SdFJkZAlZjhnLm8lgYVsiwnkz8I\",\n \"videoUrl\": \"https://stream.mux.com/oJNgJecOHjye2u400SdFJkZAlZjhnLm8lgYVsiwnkz8I/high.mp4\"\n },\n {\n \"id\": \"bp-DYtXWjeU\",\n \"title\": \"Acts Overview Explainer Streetlights Remix\",\n \"filename\": \"acts-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"DYtXWjeUqCmfpdtbEUWkkvm4qJ6y5V16CpoNg73vXWc\",\n \"videoUrl\": \"https://stream.mux.com/DYtXWjeUqCmfpdtbEUWkkvm4qJ6y5V16CpoNg73vXWc/high.mp4\"\n },\n {\n \"id\": \"bp-t53uR01z\",\n \"title\": \"Colossians Overview Explainer Streetlights Remix\",\n \"filename\": \"colossians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"t53uR01z5RH02yvjnlGAzt2HBmaAm3yUeCOrc5T01ntbDk\",\n \"videoUrl\": \"https://stream.mux.com/t53uR01z5RH02yvjnlGAzt2HBmaAm3yUeCOrc5T01ntbDk/high.mp4\"\n },\n {\n \"id\": \"bp-8wLjghYG\",\n \"title\": \"Ephesians Overview Explainer Streetlights Remix\",\n \"filename\": \"ephesians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"8wLjghYGujHDvLiKtZhNnD7ae56dBdYlzDyeiE8CciQ\",\n \"videoUrl\": \"https://stream.mux.com/8wLjghYGujHDvLiKtZhNnD7ae56dBdYlzDyeiE8CciQ/high.mp4\"\n },\n {\n \"id\": \"bp-oo00PYmh\",\n \"title\": \"Galatians Overview Explainer Streetlights Remix\",\n \"filename\": \"galatians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"oo00PYmhnp4zRm02Kl01Vn8aybCMQYx6007H1qX6CB02jsiM\",\n \"videoUrl\": \"https://stream.mux.com/oo00PYmhnp4zRm02Kl01Vn8aybCMQYx6007H1qX6CB02jsiM/high.mp4\"\n },\n {\n \"id\": \"bp-S01PfFSk\",\n \"title\": \"James Overview Explainer Streetlights Remix\",\n \"filename\": \"james-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"S01PfFSkbejUAdg4x02ku3ITbz18zuJ3EiqjIowYKO01UQ\",\n \"videoUrl\": \"https://stream.mux.com/S01PfFSkbejUAdg4x02ku3ITbz18zuJ3EiqjIowYKO01UQ/high.mp4\"\n },\n {\n \"id\": \"bp-sqvltIy1\",\n \"title\": \"Jude Overview Explainer Streetlights Remix\",\n \"filename\": \"jude-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"sqvltIy1NE4sj00yvFdScEoHcsLpXym00TxpHmv4qca5E\",\n \"videoUrl\": \"https://stream.mux.com/sqvltIy1NE4sj00yvFdScEoHcsLpXym00TxpHmv4qca5E/high.mp4\"\n },\n {\n \"id\": \"bp-unQU4sNR\",\n \"title\": \"Matthew Overview Explainer Streetlights Remix\",\n \"filename\": \"matthew-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"unQU4sNR2c1nBB01j023kXWCev7cJkyFaJ3JGcQfdVmYY\",\n \"videoUrl\": \"https://stream.mux.com/unQU4sNR2c1nBB01j023kXWCev7cJkyFaJ3JGcQfdVmYY/high.mp4\"\n },\n {\n \"id\": \"bp-sFIHJbzM\",\n \"title\": \"Philemon Overview Explainer Streetlights Remix\",\n \"filename\": \"philemon-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"sFIHJbzMPeWg00Kjqib6PhaJPWR3qFZ8kTye3j57dvRw\",\n \"videoUrl\": \"https://stream.mux.com/sFIHJbzMPeWg00Kjqib6PhaJPWR3qFZ8kTye3j57dvRw/high.mp4\"\n },\n {\n \"id\": \"bp-kkdx8aw1\",\n \"title\": \"Philippians Overview Explainer Streetlights Remix\",\n \"filename\": \"philippians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"kkdx8aw1BUYb01o6LFQ700E01rAkMPJ7F399oyfiPgoodk\",\n \"videoUrl\": \"https://stream.mux.com/kkdx8aw1BUYb01o6LFQ700E01rAkMPJ7F399oyfiPgoodk/high.mp4\"\n },\n {\n \"id\": \"bp-02rNlFiV\",\n \"title\": \"Titus Overview Explainer Streetlights Remix\",\n \"filename\": \"titus-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"02rNlFiViJi3U5z00VVl02KSEH3YlIZuuhuXFQkKeKti2E\",\n \"videoUrl\": \"https://stream.mux.com/02rNlFiViJi3U5z00VVl02KSEH3YlIZuuhuXFQkKeKti2E/high.mp4\"\n },\n {\n \"id\": \"bp-9wHhK34D\",\n \"title\": \"Mark Overview Explainer Streetlights Remix\",\n \"filename\": \"mark-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"9wHhK34D2JUubGeaCcHHRSna38O006Crx8bKWNO8Q02Jw\",\n \"videoUrl\": \"https://stream.mux.com/9wHhK34D2JUubGeaCcHHRSna38O006Crx8bKWNO8Q02Jw/high.mp4\"\n },\n {\n \"id\": \"bp-GO9g1dxh\",\n \"title\": \"Revelation Overview Explainer Streetlights Remix\",\n \"filename\": \"revelation-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"GO9g1dxh8sEoAm9Nv2nOBQZONHBNy3b02Di7W7XR5W00M\",\n \"videoUrl\": \"https://stream.mux.com/GO9g1dxh8sEoAm9Nv2nOBQZONHBNy3b02Di7W7XR5W00M/high.mp4\"\n },\n {\n \"id\": \"bp-Sfx8M6Md\",\n \"title\": \"Romans Overview Explainer Streetlights Remix\",\n \"filename\": \"romans-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"Sfx8M6MdNdQ2wce4xp02JZi3xbCvP1pkc1n8PfsArW28\",\n \"videoUrl\": \"https://stream.mux.com/Sfx8M6MdNdQ2wce4xp02JZi3xbCvP1pkc1n8PfsArW28/high.mp4\"\n },\n {\n \"id\": \"bp-nVZQcS9Z\",\n \"title\": \"Hebrews Overview Explainer Streetlights Remix\",\n \"filename\": \"hebrews-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"nVZQcS9ZRJkfQAfn75VDFjEmotU8Q8K001bPqQUj1OdM\",\n \"videoUrl\": \"https://stream.mux.com/nVZQcS9ZRJkfQAfn75VDFjEmotU8Q8K001bPqQUj1OdM/high.mp4\"\n },\n {\n \"id\": \"bp-eWbZcpQU\",\n \"title\": \"The City Theme Video Streetlights Remix\",\n \"filename\": \"the-city-theme-video-streetlights-remix\",\n \"muxPlaybackId\": \"eWbZcpQUKejlXbAwhEYCdKRdN18hdbQB6JWqXMwBhJ8\",\n \"videoUrl\": \"https://stream.mux.com/eWbZcpQUKejlXbAwhEYCdKRdN18hdbQB6JWqXMwBhJ8/high.mp4\"\n },\n {\n \"id\": \"bp-oPGXm01U\",\n \"title\": \"Luke Overview Explainer Streetlights Remix\",\n \"filename\": \"luke-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"oPGXm01Un1tyvhaPVUnAuUQUfV6c00nnetExSB00ZXeVnE\",\n \"videoUrl\": \"https://stream.mux.com/oPGXm01Un1tyvhaPVUnAuUQUfV6c00nnetExSB00ZXeVnE/high.mp4\"\n },\n {\n \"id\": \"bp-26EftW02\",\n \"title\": \"John Overview Explainer Streetlights Remix\",\n \"filename\": \"john-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"26EftW02C9pt6VEVog00feEqFUH6JRQs8wJorA01HN64bs\",\n \"videoUrl\": \"https://stream.mux.com/26EftW02C9pt6VEVog00feEqFUH6JRQs8wJorA01HN64bs/high.mp4\"\n },\n {\n \"id\": \"bp-4BwYj5Yg\",\n \"title\": \"Public Reading Of Scripture Theme Video Streetlights Remix\",\n \"filename\": \"public-reading-of-scripture-theme-video-streetlights-remix\",\n \"muxPlaybackId\": \"4BwYj5YgbboiRjYsZFj3NV3739GPDywXbhVXZ0201S6FE\",\n \"videoUrl\": \"https://stream.mux.com/4BwYj5YgbboiRjYsZFj3NV3739GPDywXbhVXZ0201S6FE/high.mp4\"\n }\n ]\n }\n ]\n}","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFolder, ContentFile, ProviderLogos, Plan, PlanPresentation, ProviderCapabilities } from '../../interfaces';\r\nimport { ContentProvider } from '../../ContentProvider';\r\nimport bibleProjectData from './data.json';\r\n\r\ninterface BibleProjectVideo {\r\n id: string;\r\n title: string;\r\n filename: string;\r\n muxPlaybackId: string;\r\n videoUrl: string;\r\n thumbnailUrl?: string;\r\n}\r\n\r\ninterface BibleProjectCollection {\r\n name: string;\r\n image: string | null;\r\n videos: BibleProjectVideo[];\r\n}\r\n\r\ninterface BibleProjectData {\r\n collections: BibleProjectCollection[];\r\n}\r\n\r\nexport class BibleProjectProvider extends ContentProvider {\r\n readonly id = 'bibleproject';\r\n readonly name = 'The Bible Project';\r\n\r\n readonly logos: ProviderLogos = {\r\n light: 'https://static.bibleproject.com/bp-web-components/v0.25.0/bibleproject-logo-mark.svg',\r\n dark: 'https://static.bibleproject.com/bp-web-components/v0.25.0/bibleproject-logo-mark.svg'\r\n };\r\n\r\n readonly config: ContentProviderConfig = {\r\n id: 'bibleproject',\r\n name: 'The Bible Project',\r\n apiBase: 'https://bibleproject.com',\r\n oauthBase: '',\r\n clientId: '',\r\n scopes: [],\r\n endpoints: {\r\n downloads: '/downloads/'\r\n }\r\n };\r\n\r\n private data: BibleProjectData = bibleProjectData;\r\n\r\n override requiresAuth(): boolean {\r\n return false;\r\n }\r\n\r\n override getCapabilities(): ProviderCapabilities {\r\n return {\r\n browse: true,\r\n presentations: true, // Has collections with videos\r\n playlist: true, // Can return flat list of videos\r\n instructions: false,\r\n expandedInstructions: false,\r\n mediaLicensing: false\r\n };\r\n }\r\n\r\n async browse(folder?: ContentFolder | null, _auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n if (!folder) {\r\n // Return top-level collection folders\r\n return this.data.collections\r\n .filter(collection => collection.videos.length > 0)\r\n .map(collection => this.createFolder(\r\n this.slugify(collection.name),\r\n collection.name,\r\n collection.image || undefined,\r\n { level: 'collection', collectionName: collection.name }\r\n ));\r\n }\r\n\r\n const level = folder.providerData?.level;\r\n const collectionName = folder.providerData?.collectionName as string;\r\n\r\n if (level === 'collection') {\r\n // Return lesson folders (one per video) for all collections\r\n return this.getLessonFolders(collectionName);\r\n }\r\n\r\n if (level === 'lesson') {\r\n // Return the single video for this lesson\r\n const videoData = folder.providerData?.videoData as BibleProjectVideo;\r\n if (videoData) {\r\n return [this.createFile(\r\n videoData.id,\r\n videoData.title,\r\n videoData.videoUrl,\r\n {\r\n mediaType: 'video',\r\n muxPlaybackId: videoData.muxPlaybackId\r\n }\r\n )];\r\n }\r\n return [];\r\n }\r\n\r\n return [];\r\n }\r\n\r\n async getPresentations(folder: ContentFolder, _auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const level = folder.providerData?.level;\r\n\r\n // For collection level, create a plan with all videos as presentations\r\n if (level === 'collection') {\r\n const collectionName = folder.providerData?.collectionName as string;\r\n const collection = this.data.collections.find(c => c.name === collectionName);\r\n if (!collection) return null;\r\n\r\n const allFiles: ContentFile[] = [];\r\n const presentations: PlanPresentation[] = collection.videos.map(video => {\r\n const file: ContentFile = {\r\n type: 'file',\r\n id: video.id,\r\n title: video.title,\r\n mediaType: 'video',\r\n url: video.videoUrl,\r\n image: video.thumbnailUrl,\r\n muxPlaybackId: video.muxPlaybackId\r\n };\r\n allFiles.push(file);\r\n\r\n return {\r\n id: video.id,\r\n name: video.title,\r\n actionType: 'play' as const,\r\n files: [file]\r\n };\r\n });\r\n\r\n return {\r\n id: this.slugify(collection.name),\r\n name: collection.name,\r\n image: collection.image || undefined,\r\n sections: [{\r\n id: 'videos',\r\n name: 'Videos',\r\n presentations\r\n }],\r\n allFiles\r\n };\r\n }\r\n\r\n // For lesson level (single video), create a simple plan\r\n if (level === 'lesson') {\r\n const videoData = folder.providerData?.videoData as BibleProjectVideo;\r\n if (!videoData) return null;\r\n\r\n const file: ContentFile = {\r\n type: 'file',\r\n id: videoData.id,\r\n title: videoData.title,\r\n mediaType: 'video',\r\n url: videoData.videoUrl,\r\n image: videoData.thumbnailUrl,\r\n muxPlaybackId: videoData.muxPlaybackId\r\n };\r\n\r\n return {\r\n id: videoData.id,\r\n name: videoData.title,\r\n image: videoData.thumbnailUrl,\r\n sections: [{\r\n id: 'main',\r\n name: 'Content',\r\n presentations: [{\r\n id: videoData.id,\r\n name: videoData.title,\r\n actionType: 'play',\r\n files: [file]\r\n }]\r\n }],\r\n allFiles: [file]\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n override async getPlaylist(folder: ContentFolder, _auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null> {\r\n const level = folder.providerData?.level;\r\n\r\n // For collection level, return all videos\r\n if (level === 'collection') {\r\n const collectionName = folder.providerData?.collectionName as string;\r\n const collection = this.data.collections.find(c => c.name === collectionName);\r\n if (!collection) return null;\r\n\r\n return collection.videos.map(video => ({\r\n type: 'file' as const,\r\n id: video.id,\r\n title: video.title,\r\n mediaType: 'video' as const,\r\n url: video.videoUrl,\r\n image: video.thumbnailUrl,\r\n muxPlaybackId: video.muxPlaybackId\r\n }));\r\n }\r\n\r\n // For lesson level, return the single video\r\n if (level === 'lesson') {\r\n const videoData = folder.providerData?.videoData as BibleProjectVideo;\r\n if (!videoData) return null;\r\n\r\n return [{\r\n type: 'file',\r\n id: videoData.id,\r\n title: videoData.title,\r\n mediaType: 'video',\r\n url: videoData.videoUrl,\r\n image: videoData.thumbnailUrl,\r\n muxPlaybackId: videoData.muxPlaybackId\r\n }];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private getLessonFolders(collectionName: string): ContentItem[] {\r\n const collection = this.data.collections.find(c => c.name === collectionName);\r\n if (!collection) return [];\r\n\r\n return collection.videos.map(video => this.createFolder(\r\n video.id,\r\n video.title,\r\n video.thumbnailUrl,\r\n {\r\n level: 'lesson',\r\n collectionName,\r\n videoData: video,\r\n isLeaf: true // Mark as leaf so venue choice modal appears\r\n }\r\n ));\r\n }\r\n\r\n private slugify(text: string): string {\r\n return text\r\n .toLowerCase()\r\n .replace(/[^a-z0-9]+/g, '-')\r\n .replace(/^-|-$/g, '');\r\n }\r\n}\r\n","{\n \"collections\": [\n {\n \"name\": \"Elementary\",\n \"folders\": [\n {\n \"id\": \"camp-wilderness-elementary\",\n \"name\": \"Camp Wilderness\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"description\": \"6 Elementary Lessons From The Israelites\",\n \"url\": \"https://highvoltagekids.com/downloads/camp-wilderness-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"camp-wilderness-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"hey-god-elementary\",\n \"name\": \"Hey, God!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"description\": \"6 Elementary Questions From The Life Of Moses\",\n \"url\": \"https://highvoltagekids.com/downloads/hey-god-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"hey-god-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": [\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-intro\",\n \"title\": \"Intro Video\",\n \"mediaType\": \"video\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20Videos/Hey%20God%20-%20Lesson%201%20-%20Intro%20Video%20%28EL%29.mp4\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-wgk-teaching\",\n \"title\": \"WGK - Teaching\",\n \"mediaType\": \"video\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20Videos/Hey%20God%20-%20Lesson%201%20-%20WGK%20-%20Teaching%20%28EL%29.mp4\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-whatchagaddaknow\",\n \"title\": \"Whatchagaddaknow\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Hey%20God%20-%20Lesson%201%20-%20Whatchagaddaknow%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-wgk-trigger\",\n \"title\": \"WGK - Trigger\",\n \"mediaType\": \"video\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20Videos/Hey%20God%20-%20Lesson%201%20-%20WGK%20-%20Trigger%20%28EL%29.mp4\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-game\",\n \"title\": \"Game - M&M Mix-Up\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Game%20-%20M%26M%20Mix-Up.png\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-1\",\n \"title\": \"Bible Story 1\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%201%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-2\",\n \"title\": \"Bible Story 2\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%202%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-3\",\n \"title\": \"Bible Story 3\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%203%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-4\",\n \"title\": \"Bible Story 4\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%204%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-5\",\n \"title\": \"Bible Story 5\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%205%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-power-verse-video\",\n \"title\": \"Power Verse Video\",\n \"mediaType\": \"video\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20Videos/Hey%20God%20-%20Lesson%201%20-%20Power%20Verse%20%28EL%29.mp4\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-power-verse-image\",\n \"title\": \"Power Verse Image\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Hey%20God%20-%20Lesson%201%20-%20Power%20Verse%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-cta-title\",\n \"title\": \"Call To Action - Title\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Call%20To%20Action/Hey%20God%20-%20Lesson%201%20-%20CTA%20-%20Title%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-cta-point-1\",\n \"title\": \"Call To Action - Point 1\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Call%20To%20Action/Hey%20God%20-%20Lesson%201%20-%20CTA%20-%20Point%201%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-cta-point-2\",\n \"title\": \"Call To Action - Point 2\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Call%20To%20Action/Hey%20God%20-%20Lesson%201%20-%20CTA%20-%20Point%202%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-cta-point-3\",\n \"title\": \"Call To Action - Point 3\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Call%20To%20Action/Hey%20God%20-%20Lesson%201%20-%20CTA%20-%20Point%203%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-title\",\n \"title\": \"REWIND - Title\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/Title.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q1\",\n \"title\": \"REWIND - Question 1\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/1.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a1\",\n \"title\": \"REWIND - Answer 1\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/1a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q2\",\n \"title\": \"REWIND - Question 2\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/2.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a2\",\n \"title\": \"REWIND - Answer 2\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/2a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q3\",\n \"title\": \"REWIND - Question 3\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/3.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a3\",\n \"title\": \"REWIND - Answer 3\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/3a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q4\",\n \"title\": \"REWIND - Question 4\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/4.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a4\",\n \"title\": \"REWIND - Answer 4\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/4a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q5\",\n \"title\": \"REWIND - Question 5\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/5.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a5\",\n \"title\": \"REWIND - Answer 5\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/5a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q6\",\n \"title\": \"REWIND - Question 6\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/6.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a6\",\n \"title\": \"REWIND - Answer 6\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/6a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q7\",\n \"title\": \"REWIND - Question 7\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/7.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a7\",\n \"title\": \"REWIND - Answer 7\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/7a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q8\",\n \"title\": \"REWIND - Question 8\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/8.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a8\",\n \"title\": \"REWIND - Answer 8\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/8a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q9\",\n \"title\": \"REWIND - Question 9\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/9.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a9\",\n \"title\": \"REWIND - Answer 9\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/9a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q10\",\n \"title\": \"REWIND - Question 10\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/10.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a10\",\n \"title\": \"REWIND - Answer 10\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/10a.jpeg\"\n }\n ]\n },\n {\n \"id\": \"hey-god-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-god-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-god-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-god-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-god-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"family-mechanics-2\",\n \"name\": \"Family Mechanics\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"description\": \"4 Elementary Lessons On Healthy Families\",\n \"url\": \"https://highvoltagekids.com/downloads/family-mechanics-2/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"family-mechanics-2-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-2-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-2-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-2-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"epic-elementary\",\n \"name\": \"EPIC\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/Epic-Elementary-1.png\",\n \"description\": \"6 Elementary Bible Stories That Will Blow Your Mind\",\n \"url\": \"https://highvoltagekids.com/downloads/epic-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"epic-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/Epic-Elementary-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-perfect-present-elementary\",\n \"name\": \"The Perfect Present\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/the-perfect-present.png\",\n \"description\": \"Single Elementary Lesson For Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/the-perfect-present-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-perfect-present-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/the-perfect-present.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-is-water-baptism-elementary\",\n \"name\": \"What Is Water Baptism?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/what-is-water-baptism.png\",\n \"description\": \"Single Elementary Lesson On Baptism\",\n \"url\": \"https://highvoltagekids.com/downloads/what-is-water-baptism-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-is-water-baptism-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/what-is-water-baptism.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"be-different-elementary\",\n \"name\": \"Be Different\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"description\": \"7 Elementary Lessons from Romans 12\",\n \"url\": \"https://highvoltagekids.com/downloads/be-different-elementary/\",\n \"lessonCount\": 7,\n \"lessons\": [\n {\n \"id\": \"be-different-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-elementary\",\n \"name\": \"The Night The Jailhouse Rocked\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Elementary-1.png\",\n \"description\": \"3 Elementary Lessons From Paul & Silas’ Night In Prison\",\n \"url\": \"https://highvoltagekids.com/downloads/the-night-the-jailhouse-rocked-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"the-night-the-jailhouse-rocked-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Elementary-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Elementary-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Elementary-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"windows-elementary\",\n \"name\": \"WINDOWS\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows.png\",\n \"description\": \"3 Elementary Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/windows-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"windows-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows.png\",\n \"files\": []\n },\n {\n \"id\": \"windows-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows.png\",\n \"files\": []\n },\n {\n \"id\": \"windows-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-is-a-true-friend-elementary\",\n \"name\": \"What Is A True Friend?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/05/what-is-a-true-friend-3.png\",\n \"description\": \"Elementary Single Lesson on Friendship\",\n \"url\": \"https://highvoltagekids.com/downloads/what-is-a-true-friend-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-is-a-true-friend-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/05/what-is-a-true-friend-3.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"livin-the-sheep-life\",\n \"name\": \"Livin' The Sheep Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"description\": \"6 Elementary Lessons on the 23rd Psalm\",\n \"url\": \"https://highvoltagekids.com/downloads/livin-the-sheep-life/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"livin-the-sheep-life-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"a-mothers-love-elementary\",\n \"name\": \"A Mother's Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/a-mothers-love-elementary.png\",\n \"description\": \"Single Elementary Lesson for Mother’s Day\",\n \"url\": \"https://highvoltagekids.com/downloads/a-mothers-love-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"a-mothers-love-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/a-mothers-love-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary\",\n \"name\": \"T.H.I.N.K. Before You Speak\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"description\": \"6 Lessons on the power of words\",\n \"url\": \"https://highvoltagekids.com/downloads/t-h-i-n-k-before-you-speak-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"closed-elementary\",\n \"name\": \"Closed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Closed-3D-Box.png\",\n \"description\": \"Elementary Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/closed-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"closed-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Closed-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"remember-me-elementary\",\n \"name\": \"Remember Me\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Remember-Me-Elementary.png\",\n \"description\": \"Elementary Lesson on Communion\",\n \"url\": \"https://highvoltagekids.com/downloads/remember-me-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"remember-me-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Remember-Me-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"love-god-love-people-elementary\",\n \"name\": \"Love God, Love People\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/love-god-love-people.png\",\n \"description\": \"Elementary Lesson on The Good Samaritan\",\n \"url\": \"https://highvoltagekids.com/downloads/love-god-love-people-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"love-god-love-people-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/love-god-love-people.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"rock-solid-elementary\",\n \"name\": \"Rock Solid\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/12/Rock-Solid-ele.png\",\n \"description\": \"6 Foundational Truths Every Kid Should Know\",\n \"url\": \"https://highvoltagekids.com/downloads/rock-solid-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"rock-solid-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/12/Rock-Solid-ele.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dream-big-2\",\n \"name\": \"Dream BIG\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"description\": \"10 Lessons From Joseph\",\n \"url\": \"https://highvoltagekids.com/downloads/dream-big-2/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"dream-big-2-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"a-way-in-a-manger-elementary\",\n \"name\": \"A Way In A Manger\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/AWIAM-Ele-1.png\",\n \"description\": \"A Single Christmas Lesson\",\n \"url\": \"https://highvoltagekids.com/downloads/a-way-in-a-manger-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"a-way-in-a-manger-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/AWIAM-Ele-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"level-up-elementary\",\n \"name\": \"Level Up\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"description\": \"4 Lessons to elevate our Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/level-up-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"level-up-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"no-name-elementary\",\n \"name\": \"No Name\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"description\": \"6 Lessons from Unnamed Bible Characters\",\n \"url\": \"https://highvoltagekids.com/downloads/no-name-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"no-name-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"forgive-u-elementary\",\n \"name\": \"Forgive U\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"description\": \"5 Lessons on Forgiveness\",\n \"url\": \"https://highvoltagekids.com/downloads/forgive-u-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"forgive-u-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"deal-with-it-elementary\",\n \"name\": \"Deal With It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"description\": \"6 Lessons on Handling Life’s Difficulties\",\n \"url\": \"https://highvoltagekids.com/downloads/deal-with-it-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"deal-with-it-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"get-in-the-game-elementary\",\n \"name\": \"Get In The Game\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Get-in-the-Game-EL.png\",\n \"description\": \"Elementary Lesson on Serving\",\n \"url\": \"https://highvoltagekids.com/downloads/get-in-the-game-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"get-in-the-game-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Get-in-the-Game-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"limitless-elementary\",\n \"name\": \"Limitless\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Elementary.png\",\n \"description\": \"3 Lessons on the Nature of God\",\n \"url\": \"https://highvoltagekids.com/downloads/limitless-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"limitless-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"limitless-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"limitless-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"transformed-elementary\",\n \"name\": \"Transformed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"description\": \"9 Lessons on the Transforming Power of God\",\n \"url\": \"https://highvoltagekids.com/downloads/transformed-elementary/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"transformed-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-price-is-right-elementary\",\n \"name\": \"The Price Is Right\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/12/price-is-right-elementary.png\",\n \"description\": \"Elementary Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/the-price-is-right-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-price-is-right-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/12/price-is-right-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"upside-down-elementary\",\n \"name\": \"Upside Down\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"description\": \"6 Lessons on Spiritual Paradoxes\",\n \"url\": \"https://highvoltagekids.com/downloads/upside-down-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"upside-down-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"christmas-gifts-elementary\",\n \"name\": \"Christmas Gifts\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Elementary.png\",\n \"description\": \"3 Lessons for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/christmas-gifts-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"christmas-gifts-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"christmas-gifts-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"christmas-gifts-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"forgiveness-elementary\",\n \"name\": \"Forgiveness\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"description\": \"5 Lessons on Forgiveness\",\n \"url\": \"https://highvoltagekids.com/downloads/forgiveness-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"forgiveness-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"running-for-your-life-elementary\",\n \"name\": \"Running For Your Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"description\": \"6 Lessons from the Life of David\",\n \"url\": \"https://highvoltagekids.com/downloads/running-for-your-life-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"running-for-your-life-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"songs-of-christmas-elementary\",\n \"name\": \"Songs of Christmas\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"description\": \"4 Lessons on the Meaning of Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/songs-of-christmas-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"songs-of-christmas-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"all-elementary\",\n \"name\": \"All\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ALL-3D-Box-EL.png\",\n \"description\": \"3 Lessons on Missions/Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/all-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"all-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ALL-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"all-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ALL-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"all-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ALL-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"famous-last-words-elementary\",\n \"name\": \"Famous Last Words\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"description\": \"4 Lessons on Jesus’ Last Teachings\",\n \"url\": \"https://highvoltagekids.com/downloads/famous-last-words-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"famous-last-words-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dont-worry-about-it-elementary\",\n \"name\": \"Don’t Worry About It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"description\": \"5 Lessons about anxiety\",\n \"url\": \"https://highvoltagekids.com/downloads/dont-worry-about-it-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"wonderfully-made-elementary\",\n \"name\": \"Wonderfully Made\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Wonderfully-Made-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson on Gender Identity\",\n \"url\": \"https://highvoltagekids.com/downloads/wonderfully-made-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"wonderfully-made-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Wonderfully-Made-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"holy-spirit-elementary\",\n \"name\": \"Holy Spirit\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"description\": \"4 Elementary Lessons on the Holy Spirit\",\n \"url\": \"https://highvoltagekids.com/downloads/holy-spirit-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"holy-spirit-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"teach-us-to-pray-elementary\",\n \"name\": \"Teach Us to Pray\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"description\": \"6 Lessons On The Lord’s Prayer\",\n \"url\": \"https://highvoltagekids.com/downloads/teach-us-to-pray-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"broken-elementary\",\n \"name\": \"Broken\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"description\": \"4 Lessons on God’s power to heal\",\n \"url\": \"https://highvoltagekids.com/downloads/broken-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"broken-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"turn-the-page-elementary\",\n \"name\": \"Turn the Page\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Turn-the-page-Preschool.png\",\n \"description\": \"Single lesson on overcoming the past\",\n \"url\": \"https://highvoltagekids.com/downloads/turn-the-page-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"turn-the-page-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Turn-the-page-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"healing-2\",\n \"name\": \"Healing\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"description\": \"5 lessons on the Healing Power of God\",\n \"url\": \"https://highvoltagekids.com/downloads/healing-2/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"healing-2-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-2-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-2-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-2-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-2-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"listen-up-elementary\",\n \"name\": \"Listen Up\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Listen-Up-3D-Box-PS.png\",\n \"description\": \"Three Lessons on Listening to the Right Voices\",\n \"url\": \"https://highvoltagekids.com/downloads/listen-up-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"listen-up-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Listen-Up-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dollars-and-sense-elementary\",\n \"name\": \"Dollars And Sense\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Dollars-and-Sense-3D-Box-EL.png\",\n \"description\": \"Three Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/dollars-and-sense-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"dollars-and-sense-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Dollars-and-Sense-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"epic-fail-elementary\",\n \"name\": \"Epic Fail\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Epic-Fail-3D-Box-ELE.png\",\n \"description\": \"Four Lessons from King Saul\",\n \"url\": \"https://highvoltagekids.com/downloads/epic-fail-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"epic-fail-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Epic-Fail-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"priceless-elementary\",\n \"name\": \"Priceless\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Priceless-3D-Box-ELE.png\",\n \"description\": \"Four Lessons from King Saul\",\n \"url\": \"https://highvoltagekids.com/downloads/priceless-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"priceless-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Priceless-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary\",\n \"name\": \"Fruit of the Spirit\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"description\": \"9 Lessons on the Fruit of the Spirit\",\n \"url\": \"https://highvoltagekids.com/downloads/fruit-of-the-spirit-elementary/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"finish-elementary\",\n \"name\": \"Finish\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/Finish-Easter-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/finish-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"finish-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/Finish-Easter-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"who-elementary\",\n \"name\": \"Who\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"description\": \"5 Lessons On the Most Important People In Your Life With God\",\n \"url\": \"https://highvoltagekids.com/downloads/who-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"who-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"who-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"who-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"who-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"who-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"love-elementary\",\n \"name\": \"Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Love-Elementary.png\",\n \"description\": \"Elementary Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/love-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"love-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Love-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"promises-promises-elementary\",\n \"name\": \"Promises, Promises\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Promises-Promises-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson On God’s Faithfulness\",\n \"url\": \"https://highvoltagekids.com/downloads/promises-promises-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"promises-promises-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Promises-Promises-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"fresh-start-elementary\",\n \"name\": \"Fresh Start\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Fresh-Start-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson For New Year’s Day\",\n \"url\": \"https://highvoltagekids.com/downloads/fresh-start-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"fresh-start-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Fresh-Start-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"church-elementary\",\n \"name\": \"Church\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Church-Elementary.png\",\n \"description\": \"Six Lessons About the Family of God\",\n \"url\": \"https://highvoltagekids.com/downloads/church-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"church-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Church-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"mine-elementary\",\n \"name\": \"Mine!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/11/Mine-Elementary.png\",\n \"description\": \"Elementary Lesson on Sharing\",\n \"url\": \"https://highvoltagekids.com/downloads/mine-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"mine-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/11/Mine-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"christmas-stars-elementary\",\n \"name\": \"Christmas Stars\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/10/Christmas-Stars-Elementary-1.png\",\n \"description\": \"Five Lessons for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/christmas-stars-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"christmas-stars-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/10/Christmas-Stars-Elementary-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"give-thanks-elementary\",\n \"name\": \"Give Thanks\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Give-Thansk-Elementary.png\",\n \"description\": \"Elementary Lesson perfect for Thanksgiving\",\n \"url\": \"https://highvoltagekids.com/downloads/give-thanks-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"give-thanks-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Give-Thansk-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"family-farm-elementary\",\n \"name\": \"Family Farm\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"description\": \"4 Lessons on Planting Healthy Seeds in the Family\",\n \"url\": \"https://highvoltagekids.com/downloads/family-farm-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"family-farm-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"just-do-it-elementary\",\n \"name\": \"Just Do It!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"description\": \"6 Lessons from the Commands of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/just-do-it-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"just-do-it-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"every-soul-matters-to-god-elementary\",\n \"name\": \"Every Soul Matters to God\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ESMTG-3D-Box-EL.png\",\n \"description\": \"3 Lessons On Evangelism And Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/every-soul-matters-to-god-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"every-soul-matters-to-god-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ESMTG-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"every-soul-matters-to-god-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ESMTG-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"every-soul-matters-to-god-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ESMTG-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"battle-zone-elementary\",\n \"name\": \"Battle Zone\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"description\": \"8 Lessons from the Biggest Battles of the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/battle-zone-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"battle-zone-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-plan-elementary\",\n \"name\": \"Game Plan\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"description\": \"8 Lessons On Following God’s Plans\",\n \"url\": \"https://highvoltagekids.com/downloads/game-plan-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"game-plan-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"lets-get-real-elementary\",\n \"name\": \"Let's Get Real!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"description\": \"10 Lessons from Ephesians\",\n \"url\": \"https://highvoltagekids.com/downloads/lets-get-real-elementary/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"lets-get-real-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"money-talk-elementary\",\n \"name\": \"Money Talk$\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Money-Talks.png\",\n \"description\": \"3 Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/money-talk-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"money-talk-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Money-Talks.png\",\n \"files\": []\n },\n {\n \"id\": \"money-talk-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Money-Talks.png\",\n \"files\": []\n },\n {\n \"id\": \"money-talk-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Money-Talks.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"rescue-elementary\",\n \"name\": \"Rescue\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Ele.png\",\n \"description\": \"3 Lessons on Missions/Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/rescue-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"rescue-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Ele.png\",\n \"files\": []\n },\n {\n \"id\": \"rescue-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Ele.png\",\n \"files\": []\n },\n {\n \"id\": \"rescue-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Ele.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"joshua-extreme-hero-elementary\",\n \"name\": \"JOSHUA – Extreme Hero\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"description\": \"9 Lessons on the Life of Joshua\",\n \"url\": \"https://highvoltagekids.com/downloads/joshua-extreme-hero-elementary/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-over-elementary-easter\",\n \"name\": \"Game Over\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"description\": \"Single Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/game-over-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"game-over-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary\",\n \"name\": \"Hey! Can I Ask You A Question?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"description\": \"4 Lessons from Kids’ Biggest Questions\",\n \"url\": \"https://highvoltagekids.com/downloads/hey-can-i-ask-you-a-question-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-table-elementary\",\n \"name\": \"The Table\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"description\": \"6 Lessons From Tables In The Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/the-table-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-table-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-over-elementary\",\n \"name\": \"Game Over\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"description\": \"8 Lessons From the Bible’s Greatest Comebacks\",\n \"url\": \"https://highvoltagekids.com/downloads/game-over-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"game-over-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-elementary\",\n \"name\": \"Jonah – A Whale of a Tale\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah.png\",\n \"description\": \"3 Lessons from the book of Jonah\",\n \"url\": \"https://highvoltagekids.com/downloads/jonah-a-whale-of-a-tale-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"jonah-a-whale-of-a-tale-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah.png\",\n \"files\": []\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah.png\",\n \"files\": []\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-rock-elementary\",\n \"name\": \"The Rock\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"description\": \"9 Lessons from the life of Peter\",\n \"url\": \"https://highvoltagekids.com/downloads/the-rock-elementary/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"the-rock-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"three-in-one-elementary-single\",\n \"name\": \"Three in One\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Three-In-One-Elementary.png\",\n \"description\": \"Elementary Lesson on “The Trinity”\",\n \"url\": \"https://highvoltagekids.com/downloads/three-in-one-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"three-in-one-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Three-In-One-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"blessed-elementary\",\n \"name\": \"Blessed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"description\": \"6 Lessons about God’s blessings\",\n \"url\": \"https://highvoltagekids.com/downloads/blessed-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"blessed-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"power-promises-elementary\",\n \"name\": \"Power Promises\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"description\": \"6 Lessons from some of God’s most powerful promises\",\n \"url\": \"https://highvoltagekids.com/downloads/power-promises-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"power-promises-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"im-in-trouble-elementary\",\n \"name\": \"I’m In Trouble\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"description\": \"8 Lessons About Dealing With Difficulty\",\n \"url\": \"https://highvoltagekids.com/downloads/im-in-trouble-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"im-in-trouble-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-if-elementary-christmas\",\n \"name\": \"What if?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/WhatIf-3D-Box-EL.png\",\n \"description\": \"Elementary lesson for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/what-if-elementary-christmas/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-if-elementary-christmas-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/WhatIf-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-amazing-god-diet-elementary-single\",\n \"name\": \"The Amazing GOD Diet\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/TAGD-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson on Putting Good Things In Our Lives\",\n \"url\": \"https://highvoltagekids.com/downloads/the-amazing-god-diet-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-amazing-god-diet-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/TAGD-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"ikisc2-elementary\",\n \"name\": \"IKISC2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/IKISC2-3D-Box-EL.png\",\n \"description\": \"Ten Lessons on the craziest stories in the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/ikisc2-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"ikisc2-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/IKISC2-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-missing-piece-elementary-easter\",\n \"name\": \"The Missing Piece\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Missing-Piece-3D-Box-EL.png\",\n \"description\": \"A Single Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/the-missing-piece-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-missing-piece-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Missing-Piece-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"worship-elementary\",\n \"name\": \"Worship\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Worship-3D-Box-EL.png\",\n \"description\": \"3 Lessons On Experiencing God’s Presence\",\n \"url\": \"https://highvoltagekids.com/downloads/worship-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"worship-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Worship-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"worship-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Worship-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"worship-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Worship-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"tell-me-a-story-elementary-bonus\",\n \"name\": \"Tell Me A Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"description\": \"Elementary Curriculum Bonus\",\n \"url\": \"https://highvoltagekids.com/downloads/tell-me-a-story-elementary-bonus/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"tell-me-a-story-elementary-bonus-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"tell-me-a-story-elementary\",\n \"name\": \"Tell Me A Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"description\": \"Elementary: 6 Lessons on the Parables of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/tell-me-a-story-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"tell-me-a-story-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"spy-kids-elementary-bonus\",\n \"name\": \"Spy Kids\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/spy-kids.png\",\n \"description\": \"Elementary Curriculum Bonus\",\n \"url\": \"https://highvoltagekids.com/downloads/spy-kids-elementary-bonus/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"spy-kids-elementary-bonus-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/spy-kids.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dont-be-a-downer-elementary-single\",\n \"name\": \"Don’t Be A Downer\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/6.png\",\n \"description\": \"Single Lesson On Being An Encourager\",\n \"url\": \"https://highvoltagekids.com/downloads/dont-be-a-downer-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"dont-be-a-downer-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/6.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"live-like-a-king-elementary\",\n \"name\": \"Live Like A King\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"description\": \"4 Lessons on Mephibosheth\",\n \"url\": \"https://highvoltagekids.com/downloads/live-like-a-king-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"live-like-a-king-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"live-like-a-king-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"live-like-a-king-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"live-like-a-king-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-forgotten-elementary\",\n \"name\": \"The Forgotten\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/07/the-forgotten.png\",\n \"description\": \"3 Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/the-forgotten-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"the-forgotten-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/07/the-forgotten.png\",\n \"files\": []\n },\n {\n \"id\": \"the-forgotten-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/07/the-forgotten.png\",\n \"files\": []\n },\n {\n \"id\": \"the-forgotten-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/07/the-forgotten.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-big-ten-elementary\",\n \"name\": \"The Big Ten\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2020/12/the-big-ten-1.png\",\n \"description\": \"10 Weeks on The Ten Commandments.\",\n \"url\": \"https://highvoltagekids.com/downloads/the-big-ten-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-big-ten-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2020/12/the-big-ten-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"come-home-elementary\",\n \"name\": \"Come Home\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"description\": \"4 Lessons from The Prodigal Son\",\n \"url\": \"https://highvoltagekids.com/downloads/come-home-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"come-home-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"files\": []\n },\n {\n \"id\": \"come-home-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"files\": []\n },\n {\n \"id\": \"come-home-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"files\": []\n },\n {\n \"id\": \"come-home-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"you-matter-elementary-single\",\n \"name\": \"You Matter\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/You-Matter-3D-Box.png\",\n \"description\": \"Single Lesson on Self-Esteem\",\n \"url\": \"https://highvoltagekids.com/downloads/you-matter-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"you-matter-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/You-Matter-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"surprise-elementary-single\",\n \"name\": \"Surprise!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/02/7.png\",\n \"description\": \"Single lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/surprise-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"surprise-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/02/7.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"spy-kids-elementary\",\n \"name\": \"Spy Kids\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"description\": \"6 Lessons on the Book of Daniel\",\n \"url\": \"https://highvoltagekids.com/downloads/spy-kids-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"spy-kids-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"life-is-a-highway-elementary\",\n \"name\": \"Life is A Highway\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"description\": \"6 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/life-is-a-highway-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"life-is-a-highway-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jesus-is-worth-it-elementary\",\n \"name\": \"Jesus Is Worth It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-worth-it.png\",\n \"description\": \"3 Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/jesus-is-worth-it-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"jesus-is-worth-it-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-worth-it.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-worth-it-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-worth-it.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-worth-it-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-worth-it.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"noah-elementary\",\n \"name\": \"Noah\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Noah.png\",\n \"description\": \"3 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/noah-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"noah-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Noah.png\",\n \"files\": []\n },\n {\n \"id\": \"noah-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Noah.png\",\n \"files\": []\n },\n {\n \"id\": \"noah-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Noah.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"living-large-elementary\",\n \"name\": \"Living Large\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"description\": \"4 Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/living-large-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"living-large-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"files\": []\n },\n {\n \"id\": \"living-large-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"files\": []\n },\n {\n \"id\": \"living-large-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"files\": []\n },\n {\n \"id\": \"living-large-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"no-fear-elementary-single\",\n \"name\": \"No Fear\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/No-Fear-3D-Box-EL.png\",\n \"description\": \"Single Lesson on Fear\",\n \"url\": \"https://highvoltagekids.com/downloads/no-fear-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"no-fear-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/No-Fear-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-garden-elementary\",\n \"name\": \"The Garden\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"description\": \"4 Lessons on Adam & Eve\",\n \"url\": \"https://highvoltagekids.com/downloads/the-garden-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"the-garden-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-garden-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-garden-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-garden-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"money-matters-elementary-single\",\n \"name\": \"Money Matters\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/Money-Matters-3D-Box.png\",\n \"description\": \"Single Lesson on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/money-matters-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"money-matters-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/Money-Matters-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jesus-is-elementary-christmas\",\n \"name\": \"Jesus Is...\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"description\": \"6 Lessons For Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/jesus-is-elementary-christmas/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"giant-elementary\",\n \"name\": \"Giant\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"description\": \"6 Lessons on David & Goliath\",\n \"url\": \"https://highvoltagekids.com/downloads/giant-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"giant-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"stand-out-elementary\",\n \"name\": \"Stand Out\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/06/Stand-Out-3D-Box.png\",\n \"description\": \"3 Lessons on the Book of Titus\",\n \"url\": \"https://highvoltagekids.com/downloads/stand-out-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"stand-out-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/06/Stand-Out-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"stand-out-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/06/Stand-Out-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"stand-out-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/06/Stand-Out-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"easter-believe-it-or-not-elementary-easter\",\n \"name\": \"Easter - Believe It or Not\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/02/22Believe-It-or-Not22-Easter-Lesson-1.png\",\n \"description\": \"Single Lesson\",\n \"url\": \"https://highvoltagekids.com/downloads/easter-believe-it-or-not-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"easter-believe-it-or-not-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/02/22Believe-It-or-Not22-Easter-Lesson-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-god-father-elementary-single-fathers-day\",\n \"name\": \"The GOD-Father\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Godfather-3D-Box.png\",\n \"description\": \"Single Lesson For Father's Day\",\n \"url\": \"https://highvoltagekids.com/downloads/the-god-father-elementary-single-fathers-day/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-god-father-elementary-single-fathers-day-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Godfather-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"yolo-elementary\",\n \"name\": \"Y.O.L.O.\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"description\": \"5 Lessons on the Life of Esther\",\n \"url\": \"https://highvoltagekids.com/downloads/yolo-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"yolo-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n },\n {\n \"id\": \"yolo-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n },\n {\n \"id\": \"yolo-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n },\n {\n \"id\": \"yolo-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n },\n {\n \"id\": \"yolo-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"never-forget-elementary\",\n \"name\": \"Never Forget\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"description\": \"8 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/never-forget-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"never-forget-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dangerous-road-ahead-elementary\",\n \"name\": \"Dangerous Road Ahead\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Dangerous-Road.png\",\n \"description\": \"3 Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/dangerous-road-ahead-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"dangerous-road-ahead-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Dangerous-Road.png\",\n \"files\": []\n },\n {\n \"id\": \"dangerous-road-ahead-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Dangerous-Road.png\",\n \"files\": []\n },\n {\n \"id\": \"dangerous-road-ahead-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Dangerous-Road.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"give-thanks-elementary-thanksgiving\",\n \"name\": \"Give Thanks\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Old-Give-Thanks-3D-Box-EL.png\",\n \"description\": \"Single Lesson For Thanksgiving\",\n \"url\": \"https://highvoltagekids.com/downloads/give-thanks-elementary-thanksgiving/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"give-thanks-elementary-thanksgiving-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Old-Give-Thanks-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"watch-your-mouth-elementary-single\",\n \"name\": \"Watch Your Mouth\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/Watch-Your-Mouth-3D-Box.png\",\n \"description\": \"Single Lesson\",\n \"url\": \"https://highvoltagekids.com/downloads/watch-your-mouth-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"watch-your-mouth-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/Watch-Your-Mouth-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"ouch-elementary\",\n \"name\": \"Ouch\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"description\": \"6 Lessons from the Sermon on the Mount\",\n \"url\": \"https://highvoltagekids.com/downloads/ouch-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"ouch-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"bugs-elementary\",\n \"name\": \"Bugs\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"description\": \"6 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/bugs-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"bugs-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"emotions-elementary\",\n \"name\": \"Emotions\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"description\": \"6 Lessons From the Life of David\",\n \"url\": \"https://highvoltagekids.com/downloads/emotions-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"emotions-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"elisha-elementary\",\n \"name\": \"Elisha\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"description\": \"8 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/elisha-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"elisha-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"prison-break-elementary\",\n \"name\": \"Prison Break\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"description\": \"5 Lessons on Jailbreaks From the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/prison-break-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"prison-break-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n },\n {\n \"id\": \"prison-break-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n },\n {\n \"id\": \"prison-break-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n },\n {\n \"id\": \"prison-break-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n },\n {\n \"id\": \"prison-break-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"soul-food-elementary\",\n \"name\": \"Soul Food\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"description\": \"7 Lessons for a Healthy Christian Life\",\n \"url\": \"https://highvoltagekids.com/downloads/soul-food-elementary/\",\n \"lessonCount\": 7,\n \"lessons\": [\n {\n \"id\": \"soul-food-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"how-2-elementary\",\n \"name\": \"How 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"description\": \"8 Lessons From Apostle Paul\",\n \"url\": \"https://highvoltagekids.com/downloads/how-2-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"how-2-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"instant-elementary-easter\",\n \"name\": \"Instant\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Instant-3D-Box.png\",\n \"description\": \"Single Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/instant-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"instant-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Instant-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"animal-tales-elementary\",\n \"name\": \"Animal Tales\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"description\": \"6 Lessons From Animals in the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/animal-tales-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"animal-tales-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"joseph-living-the-dream-elementary\",\n \"name\": \"Joseph, Living The Dream\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"description\": \"10 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/joseph-living-the-dream-elementary/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-real-christmas-story-elementary\",\n \"name\": \"The REAL Christmas Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"description\": \"6 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/the-real-christmas-story-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"open-the-door-elementary\",\n \"name\": \"Open The Door\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Open-The-Door-3D-Box.png\",\n \"description\": \"3 Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/open-the-door-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"open-the-door-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Open-The-Door-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"open-the-door-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Open-The-Door-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"open-the-door-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Open-The-Door-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"its-a-miracle-elementary\",\n \"name\": \"It's A Miracle\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"description\": \"6 Lessons on Miracles of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/its-a-miracle-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"its-a-miracle-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"on-a-mission-elementary\",\n \"name\": \"On A Mission\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"description\": \"5 Lessons on Jesus' Mission\",\n \"url\": \"https://highvoltagekids.com/downloads/on-a-mission-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"on-a-mission-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"on-a-mission-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"on-a-mission-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"on-a-mission-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"on-a-mission-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"say-whaaaat-elementary\",\n \"name\": \"Say Whaaaat?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"description\": \"6 Lessons on the Radical Statements of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/say-whaaaat-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"say-whaaaat-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"picture-this-elementary-easter\",\n \"name\": \"Picture This!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Picture-This-3D-Box.png\",\n \"description\": \"Single Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/picture-this-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"picture-this-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Picture-This-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary\",\n \"name\": \"Jesus Is For Everyone\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"description\": \"6 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/jesus-is-for-everyone-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary\",\n \"name\": \"24: A Day That Saved The World\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"description\": \"6 Lesson Easter Series\",\n \"url\": \"https://highvoltagekids.com/downloads/24-a-day-that-saved-the-world-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"questions-questions-questions-elementary\",\n \"name\": \"Questions, Questions, Questions\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"description\": \"6 Lessons on Questions Jesus Asked\",\n \"url\": \"https://highvoltagekids.com/downloads/questions-questions-questions-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"questions-questions-questions-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"alien-kids-elementary\",\n \"name\": \"Alien Kids\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"description\": \"6 Lessons on Living Out of This World\",\n \"url\": \"https://highvoltagekids.com/downloads/alien-kids-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"alien-kids-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-bridge-elementary\",\n \"name\": \"The Bridge\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Bridge.png\",\n \"description\": \"3 Lessons on Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/the-bridge-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"the-bridge-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Bridge.png\",\n \"files\": []\n },\n {\n \"id\": \"the-bridge-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Bridge.png\",\n \"files\": []\n },\n {\n \"id\": \"the-bridge-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Bridge.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"3-questions-elementary\",\n \"name\": \"3 Questions\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/2-1.png\",\n \"description\": \"3 Lessons from Galatians\",\n \"url\": \"https://highvoltagekids.com/downloads/3-questions-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"3-questions-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/2-1.png\",\n \"files\": []\n },\n {\n \"id\": \"3-questions-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/2-1.png\",\n \"files\": []\n },\n {\n \"id\": \"3-questions-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/2-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"moses-ordinary-hero-elementary\",\n \"name\": \"MOSES, Ordinary Hero\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"description\": \"12 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/moses-ordinary-hero-elementary/\",\n \"lessonCount\": 12,\n \"lessons\": [\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-11\",\n \"name\": \"Lesson 11\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-12\",\n \"name\": \"Lesson 12\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-stewardship-pyramid-elementary\",\n \"name\": \"The Stewardship Pyramid\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"description\": \"4 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/the-stewardship-pyramid-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"the-stewardship-pyramid-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"files\": []\n },\n {\n \"id\": \"the-stewardship-pyramid-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"files\": []\n },\n {\n \"id\": \"the-stewardship-pyramid-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"files\": []\n },\n {\n \"id\": \"the-stewardship-pyramid-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary\",\n \"name\": \"Crazy Little Thing Called Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"description\": \"6 Lessons From First John\",\n \"url\": \"https://highvoltagekids.com/downloads/crazy-little-thing-called-love-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary\",\n \"name\": \"The Lord Is My Shepherd\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"description\": \"6 Lessons From Psalm 23\",\n \"url\": \"https://highvoltagekids.com/downloads/the-lord-is-my-shepherd-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary\",\n \"name\": \"How To Ruin Your Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"description\": \"6 Lessons on Avoiding Mistakes\",\n \"url\": \"https://highvoltagekids.com/downloads/how-to-ruin-your-life-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary\",\n \"name\": \"I Know It Sounds Crazy, But It's True!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"description\": \"6 Lessons on the Wildest Bible Stories\",\n \"url\": \"https://highvoltagekids.com/downloads/i-know-it-sounds-crazy-but-its-true-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-new-normal-elementary\",\n \"name\": \"The New Normal\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"description\": \"6 Lessons on the Book of Ephesians\",\n \"url\": \"https://highvoltagekids.com/downloads/the-new-normal-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-new-normal-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"god-speaks-elementary\",\n \"name\": \"God Speaks\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"description\": \"6 Lessons on Hearing God's Voice\",\n \"url\": \"https://highvoltagekids.com/downloads/god-speaks-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"god-speaks-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n }\n ]\n }\n ]\n },\n {\n \"name\": \"Preschool\",\n \"folders\": [\n {\n \"id\": \"camp-wilderness-preschool\",\n \"name\": \"Camp Wilderness\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"description\": \"6 Preschool Lessons From The Israelites\",\n \"url\": \"https://highvoltagekids.com/downloads/camp-wilderness-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"camp-wilderness-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"hey-god-preschool\",\n \"name\": \"Hey, God!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Preschool.png\",\n \"description\": \"6 Preschool Questions From The Life Of Moses\",\n \"url\": \"https://highvoltagekids.com/downloads/hey-god-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"hey-god-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"family-mechanics\",\n \"name\": \"Family Mechanics\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"description\": \"4 Preschool Lessons On Healthy Families\",\n \"url\": \"https://highvoltagekids.com/downloads/family-mechanics/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"family-mechanics-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"epic-preschool\",\n \"name\": \"EPIC\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/Epic-Preschool-1-1.png\",\n \"description\": \"6 Preschool Bible Stories That Will Blow Your Mind\",\n \"url\": \"https://highvoltagekids.com/downloads/epic-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"epic-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/Epic-Preschool-1-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-perfect-present-preschool\",\n \"name\": \"The Perfect Present\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/the-perfect-present.png\",\n \"description\": \"Single Preschool Lesson For Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/the-perfect-present-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-perfect-present-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/the-perfect-present.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-is-water-baptism-preschool\",\n \"name\": \"What Is Water Baptism?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/what-is-water-baptism.png\",\n \"description\": \"Single Preschool Lesson On Baptism\",\n \"url\": \"https://highvoltagekids.com/downloads/what-is-water-baptism-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-is-water-baptism-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/what-is-water-baptism.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"be-different-preschool\",\n \"name\": \"Be Different\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"description\": \"7 Preschool Lessons from Romans 12\",\n \"url\": \"https://highvoltagekids.com/downloads/be-different-preschool/\",\n \"lessonCount\": 7,\n \"lessons\": [\n {\n \"id\": \"be-different-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-preschool\",\n \"name\": \"The Night The Jailhouse Rocked\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Preschool.png\",\n \"description\": \"3 Preschool Lessons From Paul & Silas’ Night In Prison\",\n \"url\": \"https://highvoltagekids.com/downloads/the-night-the-jailhouse-rocked-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"the-night-the-jailhouse-rocked-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"windows-preschool\",\n \"name\": \"WINDOWS\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows-1.png\",\n \"description\": \"3 Preschool Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/windows-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"windows-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows-1.png\",\n \"files\": []\n },\n {\n \"id\": \"windows-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows-1.png\",\n \"files\": []\n },\n {\n \"id\": \"windows-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-is-a-true-friend-preschool\",\n \"name\": \"What Is A True Friend?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/05/what-is-a-true-friend-2.png\",\n \"description\": \"Preschool Single Lesson on Friendship\",\n \"url\": \"https://highvoltagekids.com/downloads/what-is-a-true-friend-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-is-a-true-friend-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/05/what-is-a-true-friend-2.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"livin-the-sheep-life-2\",\n \"name\": \"Livin' The Sheep Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"description\": \"6 Preschool Lessons on the 23rd Psalm\",\n \"url\": \"https://highvoltagekids.com/downloads/livin-the-sheep-life-2/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"livin-the-sheep-life-2-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"a-mothers-love-preschool\",\n \"name\": \"A Mother's Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/a-mothers-love-preschool.png\",\n \"description\": \"Single Preschool Lesson for Mother’s Day\",\n \"url\": \"https://highvoltagekids.com/downloads/a-mothers-love-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"a-mothers-love-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/a-mothers-love-preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool\",\n \"name\": \"T.H.I.N.K. Before You Speak\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"description\": \"6 Lessons on the power of words\",\n \"url\": \"https://highvoltagekids.com/downloads/t-h-i-n-k-before-you-speak-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"closed-preschool\",\n \"name\": \"Closed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Closed-3D-Box.png\",\n \"description\": \"Preschool Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/closed-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"closed-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Closed-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"remember-me-preschool\",\n \"name\": \"Remember Me\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Remember-Me-Elementary.png\",\n \"description\": \"Preschool Lesson on Communion\",\n \"url\": \"https://highvoltagekids.com/downloads/remember-me-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"remember-me-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Remember-Me-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"rock-solid-preschool\",\n \"name\": \"Rock Solid\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/12/Rock-Solid-PS.png\",\n \"description\": \"6 Foundational Truths Every Kid Should Know\",\n \"url\": \"https://highvoltagekids.com/downloads/rock-solid-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"rock-solid-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/12/Rock-Solid-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dream-big\",\n \"name\": \"Dream BIG\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"description\": \"10 Lessons From Joseph\",\n \"url\": \"https://highvoltagekids.com/downloads/dream-big/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"dream-big-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"a-way-in-a-manger-preschool\",\n \"name\": \"A Way In A Manger\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/AWIAM-Pre-1.png\",\n \"description\": \"A Single Christmas Lesson\",\n \"url\": \"https://highvoltagekids.com/downloads/a-way-in-a-manger-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"a-way-in-a-manger-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/AWIAM-Pre-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"level-up-preschool\",\n \"name\": \"Level Up\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"description\": \"4 Lessons to elevate our Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/level-up-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"level-up-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"no-name-preschool\",\n \"name\": \"No Name\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"description\": \"6 Lessons from Unnamed Bible Characters\",\n \"url\": \"https://highvoltagekids.com/downloads/no-name-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"no-name-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"forgive-u-preschool\",\n \"name\": \"Forgive U\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"description\": \"5 Lessons on Forgiveness\",\n \"url\": \"https://highvoltagekids.com/downloads/forgive-u-preschool/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"forgive-u-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"deal-with-it-preschool\",\n \"name\": \"Deal With It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"description\": \"6 Lessons on Handling Life’s Difficulties\",\n \"url\": \"https://highvoltagekids.com/downloads/deal-with-it-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"deal-with-it-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"get-in-the-game-preschool\",\n \"name\": \"Get In The Game\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Get-in-the-Game-PS.png\",\n \"description\": \"Preschool Lesson on Serving\",\n \"url\": \"https://highvoltagekids.com/downloads/get-in-the-game-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"get-in-the-game-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Get-in-the-Game-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"limitless-preschool\",\n \"name\": \"Limitless\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Preschool.png\",\n \"description\": \"3 Lessons on the Nature of God\",\n \"url\": \"https://highvoltagekids.com/downloads/limitless-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"limitless-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"limitless-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"limitless-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"transformed-preschool\",\n \"name\": \"Transformed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"description\": \"9 Lessons on the Transforming Power of God\",\n \"url\": \"https://highvoltagekids.com/downloads/transformed-preschool/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"transformed-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-price-is-right-preschool\",\n \"name\": \"The Price Is Right\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/12/price-is-right-elementary.png\",\n \"description\": \"Preschool Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/the-price-is-right-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-price-is-right-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/12/price-is-right-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"upside-down-preschool\",\n \"name\": \"Upside Down\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"description\": \"6 Lessons on Spiritual Paradoxes\",\n \"url\": \"https://highvoltagekids.com/downloads/upside-down-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"upside-down-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"christmas-gifts-preschool\",\n \"name\": \"Christmas Gifts\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Preschool.png\",\n \"description\": \"3 Lessons for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/christmas-gifts-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"christmas-gifts-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"christmas-gifts-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"christmas-gifts-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"forgiveness-preschool\",\n \"name\": \"Forgiveness\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"description\": \"5 Lessons on Forgiveness\",\n \"url\": \"https://highvoltagekids.com/downloads/forgiveness-preschool/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"forgiveness-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"running-for-your-life-preschool\",\n \"name\": \"Running For Your Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"description\": \"6 Lessons from the Life of David\",\n \"url\": \"https://highvoltagekids.com/downloads/running-for-your-life-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"running-for-your-life-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"songs-of-christmas-preschool\",\n \"name\": \"Songs of Christmas\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"description\": \"4 Lessons on the Meaning of Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/songs-of-christmas-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"songs-of-christmas-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"all-preschool\",\n \"name\": \"All\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/All-Preschool.png\",\n \"description\": \"3 Lessons on Missions/Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/all-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"all-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/All-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"all-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/All-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"all-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/All-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"famous-last-words-preschool\",\n \"name\": \"Famous Last Words\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"description\": \"4 Lessons on Jesus’ Last Teachings\",\n \"url\": \"https://highvoltagekids.com/downloads/famous-last-words-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"famous-last-words-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dont-worry-about-it-preschool\",\n \"name\": \"Don’t Worry About It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"description\": \"5 Lessons about anxiety\",\n \"url\": \"https://highvoltagekids.com/downloads/dont-worry-about-it-preschool/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"wonderfully-made-preschool\",\n \"name\": \"Wonderfully Made\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Wonderfully-Made-Preschool.png\",\n \"description\": \"Preschool Lesson on Gender Identity\",\n \"url\": \"https://highvoltagekids.com/downloads/wonderfully-made-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"wonderfully-made-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Wonderfully-Made-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"holy-spirit-preschool\",\n \"name\": \"Holy Spirit\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"description\": \"4 Preschool Lessons on the Holy Spirit\",\n \"url\": \"https://highvoltagekids.com/downloads/holy-spirit-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"holy-spirit-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"teach-us-to-pray-preschool\",\n \"name\": \"Teach Us to Pray\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"description\": \"6 Lessons On The Lord’s Prayer\",\n \"url\": \"https://highvoltagekids.com/downloads/teach-us-to-pray-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"broken-preschool\",\n \"name\": \"Broken\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"description\": \"4 Lessons on God’s power to heal\",\n \"url\": \"https://highvoltagekids.com/downloads/broken-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"broken-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"turn-the-page-preschool\",\n \"name\": \"Turn the Page\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Turn-the-page-elementary.png\",\n \"description\": \"Single lesson on overcoming the past\",\n \"url\": \"https://highvoltagekids.com/downloads/turn-the-page-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"turn-the-page-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Turn-the-page-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"healing\",\n \"name\": \"Healing\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"description\": \"5 lessons on the Healing Power of God\",\n \"url\": \"https://highvoltagekids.com/downloads/healing/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"healing-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"listen-up-preschool\",\n \"name\": \"Listen Up\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Listen-Up-3D-Box-ELE.png\",\n \"description\": \"Three Lessons on Listening to the Right Voices\",\n \"url\": \"https://highvoltagekids.com/downloads/listen-up-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"listen-up-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Listen-Up-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dollars-and-sense-preschool\",\n \"name\": \"Dollars And Sense\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dollars-and-Sense-Preschool.png\",\n \"description\": \"Three Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/dollars-and-sense-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"dollars-and-sense-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dollars-and-Sense-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"epic-fail-preschool\",\n \"name\": \"Epic Fail\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Epic-Fail-3D-Box-PS.png\",\n \"description\": \"Four Lessons from King Saul\",\n \"url\": \"https://highvoltagekids.com/downloads/epic-fail-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"epic-fail-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Epic-Fail-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"priceless-preschool\",\n \"name\": \"Priceless\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Priceless-3D-Box-PS.png\",\n \"description\": \"Four Lessons from King Saul\",\n \"url\": \"https://highvoltagekids.com/downloads/priceless-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"priceless-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Priceless-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool\",\n \"name\": \"Fruit of the Spirit\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"description\": \"9 Lessons on the Fruit of the Spirit\",\n \"url\": \"https://highvoltagekids.com/downloads/fruit-of-the-spirit-preschool/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"finish-preschool\",\n \"name\": \"Finish\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/Finish-Easter-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/finish-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"finish-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/Finish-Easter-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"who-preschool\",\n \"name\": \"Who\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"description\": \"5 Lessons On the Most Important People In Your Life With God\",\n \"url\": \"https://highvoltagekids.com/downloads/who-preschool/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"who-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"who-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"who-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"who-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"who-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"love-preschool\",\n \"name\": \"Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/LOVE-Easter-3D-Box-PS.png\",\n \"description\": \"Preschool Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/love-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"love-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/LOVE-Easter-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"promises-promises-preschool\",\n \"name\": \"Promises, Promises\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Promises-Promises-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson On God’s Faithfulness\",\n \"url\": \"https://highvoltagekids.com/downloads/promises-promises-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"promises-promises-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Promises-Promises-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"fresh-start-preschool\",\n \"name\": \"Fresh Start\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Fresh-Start-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson For New Year’s Day\",\n \"url\": \"https://highvoltagekids.com/downloads/fresh-start-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"fresh-start-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Fresh-Start-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"church-preschool\",\n \"name\": \"Church\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Church-3D-Box-PS.png\",\n \"description\": \"Six Lessons About the Family of God\",\n \"url\": \"https://highvoltagekids.com/downloads/church-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"church-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Church-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"mine-preschool\",\n \"name\": \"Mine!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Mine-3D-Box-PS.png\",\n \"description\": \"Preschool Lesson on Sharing\",\n \"url\": \"https://highvoltagekids.com/downloads/mine-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"mine-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Mine-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"christmas-stars-preschool\",\n \"name\": \"Christmas Stars\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Stars-3D-Box-PS.png\",\n \"description\": \"Five Lessons for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/christmas-stars-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"christmas-stars-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Stars-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"give-thanks-preschool\",\n \"name\": \"Give Thanks\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Give-Thanks-Preschool.png\",\n \"description\": \"Preschool Lesson perfect for Thanksgiving\",\n \"url\": \"https://highvoltagekids.com/downloads/give-thanks-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"give-thanks-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Give-Thanks-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"family-farm-preschool\",\n \"name\": \"Family Farm\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"description\": \"4 Lessons on Planting Healthy Seeds in the Family\",\n \"url\": \"https://highvoltagekids.com/downloads/family-farm-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"family-farm-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"just-do-it-preschool\",\n \"name\": \"Just Do It!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"description\": \"6 Lessons from the Commands of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/just-do-it-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"just-do-it-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"every-soul-matters-to-god-preschool\",\n \"name\": \"Every Soul Matters to God\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Every-Soul-Matters-To-God-Preschool.png\",\n \"description\": \"3 Lessons On Evangelism And Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/every-soul-matters-to-god-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"every-soul-matters-to-god-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Every-Soul-Matters-To-God-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"every-soul-matters-to-god-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Every-Soul-Matters-To-God-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"every-soul-matters-to-god-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Every-Soul-Matters-To-God-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"battle-zone-preschool\",\n \"name\": \"Battle Zone\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"description\": \"8 Lessons from the Biggest Battles of the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/battle-zone-preschool/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"battle-zone-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-plan-preschool\",\n \"name\": \"Game Plan\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"description\": \"8 Lessons On Following God’s Plans\",\n \"url\": \"https://highvoltagekids.com/downloads/game-plan-preschool/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"game-plan-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"lets-get-real-preschool\",\n \"name\": \"Let's Get Real!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"description\": \"10 Lessons from Ephesians\",\n \"url\": \"https://highvoltagekids.com/downloads/lets-get-real-preschool/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"lets-get-real-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"money-talk-preschool\",\n \"name\": \"Money Talk$\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Lets-Get-Real-3D-Box-PS.png\",\n \"description\": \"3 Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/money-talk-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"money-talk-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Lets-Get-Real-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"money-talk-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Lets-Get-Real-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"money-talk-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Lets-Get-Real-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"rescue-preschool\",\n \"name\": \"Rescue\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Preschool.png\",\n \"description\": \"3 Lessons on Missions/Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/rescue-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"rescue-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"rescue-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"rescue-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"joshua-extreme-hero-preschool\",\n \"name\": \"JOSHUA – Extreme Hero\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"description\": \"9 Lessons on the Life of Joshua\",\n \"url\": \"https://highvoltagekids.com/downloads/joshua-extreme-hero-preschool/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-over-preschool-easter\",\n \"name\": \"Game Over\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"description\": \"Single Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/game-over-preschool-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"game-over-preschool-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool\",\n \"name\": \"Hey! Can I Ask You A Question?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"description\": \"4 Lessons from Kids’ Biggest Questions\",\n \"url\": \"https://highvoltagekids.com/downloads/hey-can-i-ask-you-a-question-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-table-preschool\",\n \"name\": \"The Table\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"description\": \"6 Lessons From Tables In The Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/the-table-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-table-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-over-preschool\",\n \"name\": \"Game Over\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"description\": \"8 Lessons From the Bible’s Greatest Comebacks\",\n \"url\": \"https://highvoltagekids.com/downloads/game-over-preschool/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"game-over-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-preschool\",\n \"name\": \"Jonah – A Whale of a Tale\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah-2.png\",\n \"description\": \"3 Lessons from the book of Jonah\",\n \"url\": \"https://highvoltagekids.com/downloads/jonah-a-whale-of-a-tale-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"jonah-a-whale-of-a-tale-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah-2.png\",\n \"files\": []\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah-2.png\",\n \"files\": []\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah-2.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-rock-preschool\",\n \"name\": \"The Rock\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"description\": \"9 Lessons from the life of Peter\",\n \"url\": \"https://highvoltagekids.com/downloads/the-rock-preschool/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"the-rock-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"three-in-one-preschool-single\",\n \"name\": \"Three in One\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Three-In-One-Preschool.png\",\n \"description\": \"Preschool Lesson on “The Trinity”\",\n \"url\": \"https://highvoltagekids.com/downloads/three-in-one-preschool-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"three-in-one-preschool-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Three-In-One-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"blessed-preschool\",\n \"name\": \"Blessed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"description\": \"6 Lessons about God’s blessings\",\n \"url\": \"https://highvoltagekids.com/downloads/blessed-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"blessed-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"power-promises-preschool\",\n \"name\": \"Power Promises\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"description\": \"6 Lessons from some of God’s most powerful promises\",\n \"url\": \"https://highvoltagekids.com/downloads/power-promises-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"power-promises-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"im-in-trouble-preschool\",\n \"name\": \"I’m In Trouble\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"description\": \"8 Lessons About Dealing With Difficulty\",\n \"url\": \"https://highvoltagekids.com/downloads/im-in-trouble-preschool/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"im-in-trouble-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-if-preschool-christmas\",\n \"name\": \"What if?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/WhatIf-3D-Box-EL.png\",\n \"description\": \"Preschool lesson for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/what-if-preschool-christmas/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-if-preschool-christmas-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/WhatIf-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-amazing-god-diet-preschool-single\",\n \"name\": \"The Amazing GOD Diet\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/TAGD-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson on Putting Good Things In Our Lives\",\n \"url\": \"https://highvoltagekids.com/downloads/the-amazing-god-diet-preschool-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-amazing-god-diet-preschool-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/TAGD-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"ikisc2-preschool\",\n \"name\": \"IKISC2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/I-Know-It-Sounds-Crazy-But-Its-True-Vol-2-Preschool.png\",\n \"description\": \"Ten Lessons on the craziest stories in the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/ikisc2-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"ikisc2-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/I-Know-It-Sounds-Crazy-But-Its-True-Vol-2-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-missing-piece-preschool-easter\",\n \"name\": \"The Missing Piece\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Missing-Piece-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/the-missing-piece-preschool-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-missing-piece-preschool-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Missing-Piece-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"worship-preschool\",\n \"name\": \"Worship\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Worship-Preschool-1.png\",\n \"description\": \"3 Lessons On Experiencing God’s Presence\",\n \"url\": \"https://highvoltagekids.com/downloads/worship-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"worship-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Worship-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"worship-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Worship-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"worship-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Worship-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"tell-me-a-story-preschool\",\n \"name\": \"Tell Me A Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"description\": \"Preschool: 6 Lessons on the Parables of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/tell-me-a-story-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"tell-me-a-story-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"tell-me-a-story-preschool-bonus\",\n \"name\": \"Tell Me A Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"description\": \"Preschool Curriculum Bonus\",\n \"url\": \"https://highvoltagekids.com/downloads/tell-me-a-story-preschool-bonus/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"tell-me-a-story-preschool-bonus-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n }\n ]\n }\n ]\n }\n ]\n}","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFolder, ContentFile, ProviderLogos, Plan, PlanSection, PlanPresentation, ProviderCapabilities } from '../interfaces';\r\nimport { ContentProvider } from '../ContentProvider';\r\nimport highVoltageData from './highvoltage/data.json';\r\n\r\ninterface LessonFileJson {\r\n type: string;\r\n id: string;\r\n title: string;\r\n mediaType: string;\r\n url: string;\r\n}\r\n\r\ninterface LessonFolder {\r\n id: string;\r\n name: string;\r\n image: string;\r\n files: LessonFileJson[];\r\n}\r\n\r\ninterface StudyFolder {\r\n id: string;\r\n name: string;\r\n image: string;\r\n description: string;\r\n url: string;\r\n lessonCount: number;\r\n lessons: LessonFolder[];\r\n}\r\n\r\ninterface Collection {\r\n name: string;\r\n folders: StudyFolder[];\r\n}\r\n\r\ninterface HighVoltageData {\r\n collections: Collection[];\r\n}\r\n\r\nexport class HighVoltageKidsProvider extends ContentProvider {\r\n readonly id = 'highvoltagekids';\r\n readonly name = 'High Voltage Kids';\r\n\r\n readonly logos: ProviderLogos = {\r\n light: 'https://highvoltagekids.com/wp-content/uploads/2023/10/logo-300x300-1.webp',\r\n dark: 'https://highvoltagekids.com/wp-content/uploads/2023/10/logo-300x300-1.webp'\r\n };\r\n\r\n readonly config: ContentProviderConfig = {\r\n id: 'highvoltagekids',\r\n name: 'High Voltage Kids',\r\n apiBase: 'https://highvoltagekids.com',\r\n oauthBase: '',\r\n clientId: '',\r\n scopes: [],\r\n endpoints: {\r\n downloads: '/membership-downloads/'\r\n }\r\n };\r\n\r\n private data: HighVoltageData = highVoltageData;\r\n\r\n override requiresAuth(): boolean {\r\n return false;\r\n }\r\n\r\n override getCapabilities(): ProviderCapabilities {\r\n return {\r\n browse: true,\r\n presentations: true, // Has hierarchical structure: study -> lessons -> files\r\n playlist: true, // Can return flat list of files for a lesson\r\n instructions: false,\r\n expandedInstructions: false,\r\n mediaLicensing: false\r\n };\r\n }\r\n\r\n async browse(folder?: ContentFolder | null, _auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n if (!folder) {\r\n // Return top-level collection folders (Elementary, Preschool)\r\n return this.data.collections\r\n .filter(collection => collection.folders.length > 0)\r\n .map(collection => this.createFolder(\r\n this.slugify(collection.name),\r\n collection.name,\r\n undefined,\r\n { level: 'collection', collectionName: collection.name }\r\n ));\r\n }\r\n\r\n const level = folder.providerData?.level;\r\n const collectionName = folder.providerData?.collectionName as string;\r\n\r\n if (level === 'collection') {\r\n // Return study folders for this collection (Elementary or Preschool)\r\n return this.getStudyFolders(collectionName);\r\n }\r\n\r\n if (level === 'study') {\r\n // Return lesson folders for this study\r\n const studyData = folder.providerData?.studyData as StudyFolder;\r\n if (studyData) {\r\n return this.getLessonFolders(studyData);\r\n }\r\n return [];\r\n }\r\n\r\n if (level === 'lesson') {\r\n const lessonData = folder.providerData?.lessonData as LessonFolder;\r\n if (lessonData?.files) {\r\n return lessonData.files.map(file => this.createFile(\r\n file.id,\r\n file.title,\r\n file.url,\r\n { mediaType: file.mediaType as 'video' | 'image' }\r\n ));\r\n }\r\n return [];\r\n }\r\n\r\n return [];\r\n }\r\n\r\n async getPresentations(folder: ContentFolder, _auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const level = folder.providerData?.level;\r\n\r\n // For study level, create a plan with lessons as sections\r\n if (level === 'study') {\r\n const studyData = folder.providerData?.studyData as StudyFolder;\r\n if (!studyData) return null;\r\n\r\n const allFiles: ContentFile[] = [];\r\n const sections: PlanSection[] = studyData.lessons.map(lesson => {\r\n const files: ContentFile[] = lesson.files.map(file => {\r\n const contentFile: ContentFile = {\r\n type: 'file',\r\n id: file.id,\r\n title: file.title,\r\n mediaType: file.mediaType as 'video' | 'image',\r\n url: file.url,\r\n image: lesson.image\r\n };\r\n allFiles.push(contentFile);\r\n return contentFile;\r\n });\r\n\r\n const presentation: PlanPresentation = {\r\n id: lesson.id,\r\n name: lesson.name,\r\n actionType: 'play',\r\n files\r\n };\r\n\r\n return {\r\n id: lesson.id,\r\n name: lesson.name,\r\n presentations: [presentation]\r\n };\r\n });\r\n\r\n return {\r\n id: studyData.id,\r\n name: studyData.name,\r\n description: studyData.description,\r\n image: studyData.image,\r\n sections,\r\n allFiles\r\n };\r\n }\r\n\r\n // For lesson level, create a simple plan with one section\r\n if (level === 'lesson') {\r\n const lessonData = folder.providerData?.lessonData as LessonFolder;\r\n if (!lessonData?.files) return null;\r\n\r\n const files: ContentFile[] = lessonData.files.map(file => ({\r\n type: 'file' as const,\r\n id: file.id,\r\n title: file.title,\r\n mediaType: file.mediaType as 'video' | 'image',\r\n url: file.url,\r\n image: lessonData.image\r\n }));\r\n\r\n const presentation: PlanPresentation = {\r\n id: lessonData.id,\r\n name: lessonData.name,\r\n actionType: 'play',\r\n files\r\n };\r\n\r\n return {\r\n id: lessonData.id,\r\n name: lessonData.name,\r\n image: lessonData.image,\r\n sections: [{\r\n id: 'main',\r\n name: 'Content',\r\n presentations: [presentation]\r\n }],\r\n allFiles: files\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n override async getPlaylist(folder: ContentFolder, _auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null> {\r\n const level = folder.providerData?.level;\r\n\r\n // For lesson level, return the files directly\r\n if (level === 'lesson') {\r\n const lessonData = folder.providerData?.lessonData as LessonFolder;\r\n if (!lessonData?.files) return null;\r\n\r\n return lessonData.files.map(file => ({\r\n type: 'file' as const,\r\n id: file.id,\r\n title: file.title,\r\n mediaType: file.mediaType as 'video' | 'image',\r\n url: file.url,\r\n image: lessonData.image\r\n }));\r\n }\r\n\r\n // For study level, return all files from all lessons\r\n if (level === 'study') {\r\n const studyData = folder.providerData?.studyData as StudyFolder;\r\n if (!studyData) return null;\r\n\r\n const allFiles: ContentFile[] = [];\r\n for (const lesson of studyData.lessons) {\r\n for (const file of lesson.files) {\r\n allFiles.push({\r\n type: 'file',\r\n id: file.id,\r\n title: file.title,\r\n mediaType: file.mediaType as 'video' | 'image',\r\n url: file.url,\r\n image: lesson.image\r\n });\r\n }\r\n }\r\n return allFiles;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private getStudyFolders(collectionName: string): ContentItem[] {\r\n const collection = this.data.collections.find(c => c.name === collectionName);\r\n if (!collection) return [];\r\n\r\n return collection.folders.map(study => this.createFolder(\r\n study.id,\r\n study.name,\r\n study.image || undefined,\r\n {\r\n level: 'study',\r\n collectionName,\r\n studyData: study,\r\n isLeaf: true // Mark as leaf so venue choice modal appears\r\n }\r\n ));\r\n }\r\n\r\n private getLessonFolders(study: StudyFolder): ContentItem[] {\r\n return study.lessons.map(lesson => this.createFolder(\r\n lesson.id,\r\n lesson.name,\r\n lesson.image || undefined,\r\n {\r\n level: 'lesson',\r\n studyId: study.id,\r\n lessonData: lesson,\r\n isLeaf: true // Mark as leaf so venue choice modal appears\r\n }\r\n ));\r\n }\r\n\r\n private slugify(text: string): string {\r\n return text\r\n .toLowerCase()\r\n .replace(/[^a-z0-9]+/g, '-')\r\n .replace(/^-|-$/g, '');\r\n }\r\n}\r\n","import { ContentProvider } from '../ContentProvider';\r\nimport { ProviderInfo, ProviderLogos } from '../interfaces';\r\nimport { APlayProvider } from './APlayProvider';\r\nimport { B1ChurchProvider } from './b1church';\r\nimport { BibleProjectProvider } from './bibleproject';\r\nimport { HighVoltageKidsProvider } from './HighVoltageKidsProvider';\r\nimport { LessonsChurchProvider } from './LessonsChurchProvider';\r\nimport { PlanningCenterProvider } from './PlanningCenterProvider';\r\nimport { SignPresenterProvider } from './SignPresenterProvider';\r\n\r\nexport { APlayProvider } from './APlayProvider';\r\nexport { B1ChurchProvider } from './b1church';\r\nexport { BibleProjectProvider } from './bibleproject';\r\nexport { HighVoltageKidsProvider } from './HighVoltageKidsProvider';\r\nexport { LessonsChurchProvider } from './LessonsChurchProvider';\r\nexport { PlanningCenterProvider } from './PlanningCenterProvider';\r\nexport { SignPresenterProvider } from './SignPresenterProvider';\r\n\r\n// Provider registry - singleton instances\r\nconst providerRegistry: Map<string, ContentProvider> = new Map();\r\n\r\n// Unimplemented providers (coming soon)\r\ninterface UnimplementedProvider {\r\n id: string;\r\n name: string;\r\n logos: ProviderLogos;\r\n}\r\n\r\nconst unimplementedProviders: UnimplementedProvider[] = [\r\n {\r\n id: 'awana',\r\n name: 'Awana',\r\n logos: {\r\n light: 'https://www.awana.org/wp-content/uploads/2025/04/awana-logo-black.svg',\r\n dark: 'https://www.awana.org/wp-content/uploads/2025/04/awana-logo-white.svg',\r\n },\r\n },\r\n {\r\n id: 'freeshow',\r\n name: 'FreeShow',\r\n logos: {\r\n light: 'https://freeshow.app/images/favicon.png',\r\n dark: 'https://freeshow.app/images/favicon.png',\r\n },\r\n },\r\n {\r\n id: 'gocurriculum',\r\n name: 'Go Curriculum',\r\n logos: {\r\n light: 'https://gocurriculum.com/wp-content/uploads/go-logo-curriculum-v2.png',\r\n dark: 'https://gocurriculum.com/wp-content/uploads/go-logo-curriculum-v2.png',\r\n },\r\n },\r\n {\r\n id: 'iteachchurch',\r\n name: 'iTeachChurch',\r\n logos: {\r\n light: 'https://iteachchurch.com/wp-content/uploads/2022/05/iTeachChurch_Artboard-1-copy-3@2x.png',\r\n dark: 'https://iteachchurch.com/wp-content/uploads/2022/05/iTeachChurch_Artboard-1-copy-3@2x.png',\r\n },\r\n },\r\n {\r\n id: 'lifechurch',\r\n name: 'LifeChurch',\r\n logos: {\r\n light: 'https://cdn.brandfetch.io/idRrA6pM45/w/400/h/400/theme/dark/icon.jpeg?c=1bxid64Mup7aczewSAYMX&t=1668042253613',\r\n dark: 'https://cdn.brandfetch.io/idRrA6pM45/w/400/h/400/theme/dark/icon.jpeg?c=1bxid64Mup7aczewSAYMX&t=1668042253613',\r\n },\r\n },\r\n {\r\n id: 'ministrystuff',\r\n name: 'MinistryStuff',\r\n logos: {\r\n light: '',\r\n dark: '',\r\n },\r\n },\r\n];\r\n\r\n// Register built-in providers\r\nfunction initializeProviders() {\r\n const aplay = new APlayProvider();\r\n const b1Church = new B1ChurchProvider();\r\n const bibleProject = new BibleProjectProvider();\r\n const highVoltageKids = new HighVoltageKidsProvider();\r\n const lessonsChurch = new LessonsChurchProvider();\r\n const planningCenter = new PlanningCenterProvider();\r\n const signPresenter = new SignPresenterProvider();\r\n\r\n providerRegistry.set(aplay.id, aplay);\r\n providerRegistry.set(b1Church.id, b1Church);\r\n providerRegistry.set(bibleProject.id, bibleProject);\r\n providerRegistry.set(highVoltageKids.id, highVoltageKids);\r\n providerRegistry.set(lessonsChurch.id, lessonsChurch);\r\n providerRegistry.set(planningCenter.id, planningCenter);\r\n providerRegistry.set(signPresenter.id, signPresenter);\r\n}\r\n\r\n// Initialize on module load\r\ninitializeProviders();\r\n\r\n/**\r\n * Get a provider by ID.\r\n */\r\nexport function getProvider(providerId: string): ContentProvider | null {\r\n return providerRegistry.get(providerId) || null;\r\n}\r\n\r\n/**\r\n * Get all registered providers.\r\n */\r\nexport function getAllProviders(): ContentProvider[] {\r\n return Array.from(providerRegistry.values());\r\n}\r\n\r\n/**\r\n * Register a custom provider.\r\n */\r\nexport function registerProvider(provider: ContentProvider): void {\r\n providerRegistry.set(provider.id, provider);\r\n}\r\n\r\n/**\r\n * Get provider configuration by ID (for backward compatibility).\r\n */\r\nexport function getProviderConfig(providerId: string) {\r\n const provider = getProvider(providerId);\r\n return provider?.config || null;\r\n}\r\n\r\n/**\r\n * Get list of available providers with their info including logos and auth types.\r\n * Includes both implemented providers and coming soon providers.\r\n */\r\nexport function getAvailableProviders(): ProviderInfo[] {\r\n // Implemented providers\r\n const implemented: ProviderInfo[] = getAllProviders().map((provider) => ({\r\n id: provider.id,\r\n name: provider.name,\r\n logos: provider.logos,\r\n implemented: true,\r\n requiresAuth: provider.requiresAuth(),\r\n authTypes: provider.getAuthTypes(),\r\n capabilities: provider.getCapabilities(),\r\n }));\r\n\r\n // Coming soon providers\r\n const comingSoon: ProviderInfo[] = unimplementedProviders.map((p) => ({\r\n id: p.id,\r\n name: p.name,\r\n logos: p.logos,\r\n implemented: false,\r\n requiresAuth: false,\r\n authTypes: [],\r\n capabilities: { browse: false, presentations: false, playlist: false, instructions: false, expandedInstructions: false, mediaLicensing: false },\r\n }));\r\n\r\n return [...implemented, ...comingSoon];\r\n}\r\n","/**\n * @churchapps/content-provider-helper\n * Helper classes for interacting with third party content providers\n */\n\nexport const VERSION = \"0.0.1\";\n\n// Interfaces\nexport * from './interfaces';\n\n// Utilities\nexport { detectMediaType } from './utils';\n\n// Format conversion utilities\nexport * as FormatConverters from './FormatConverters';\nexport {\n presentationsToPlaylist,\n presentationsToInstructions,\n presentationsToExpandedInstructions,\n instructionsToPlaylist,\n expandedInstructionsToPlaylist,\n instructionsToPresentations,\n expandedInstructionsToPresentations,\n collapseInstructions,\n playlistToPresentations,\n playlistToInstructions,\n playlistToExpandedInstructions\n} from './FormatConverters';\n\n// Format resolver\nexport { FormatResolver, type FormatResolverOptions, type ResolvedFormatMeta } from './FormatResolver';\n\n// Base class (for extending with custom providers)\nexport { ContentProvider } from './ContentProvider';\n\n// Built-in providers\nexport { APlayProvider } from './providers/APlayProvider';\nexport { SignPresenterProvider } from './providers/SignPresenterProvider';\nexport { LessonsChurchProvider } from './providers/LessonsChurchProvider';\nexport { B1ChurchProvider } from './providers/b1church';\nexport { PlanningCenterProvider } from './providers/PlanningCenterProvider';\nexport { BibleProjectProvider } from './providers/bibleproject';\n\n// Registry functions\nexport {\n getProvider,\n getAllProviders,\n registerProvider,\n getProviderConfig,\n getAvailableProviders,\n} from './providers';\n"],"mappings":"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","names":["data_default","data_default"]}
|
|
1
|
+
{"version":3,"sources":["../src/interfaces.ts","../src/utils.ts","../src/pathUtils.ts","../src/FormatConverters.ts","../src/FormatResolver.ts","../src/helpers/OAuthHelper.ts","../src/helpers/TokenHelper.ts","../src/helpers/DeviceFlowHelper.ts","../src/helpers/ApiHelper.ts","../src/ContentProvider.ts","../src/providers/aPlay/APlayProvider.ts","../src/providers/signPresenter/SignPresenterProvider.ts","../src/providers/lessonsChurch/LessonsChurchProvider.ts","../src/providers/b1Church/auth.ts","../src/providers/b1Church/api.ts","../src/providers/b1Church/converters.ts","../src/providers/b1Church/B1ChurchProvider.ts","../src/providers/planningCenter/PlanningCenterProvider.ts","../src/providers/bibleProject/data.json","../src/providers/bibleProject/BibleProjectProvider.ts","../src/providers/highVoltage/data.json","../src/providers/highVoltage/HighVoltageKidsProvider.ts","../src/providers/index.ts","../src/index.ts"],"sourcesContent":["export interface ContentProviderAuthData {\r\n access_token: string;\r\n refresh_token: string;\r\n token_type: string;\r\n created_at: number;\r\n expires_in: number;\r\n scope: string;\r\n}\r\n\r\nexport interface ContentProviderConfig {\r\n id: string;\r\n name: string;\r\n apiBase: string;\r\n oauthBase: string;\r\n clientId: string;\r\n scopes: string[];\r\n supportsDeviceFlow?: boolean;\r\n deviceAuthEndpoint?: string;\r\n endpoints: Record<string, string | ((...args: string[]) => string)>;\r\n}\r\n\r\nexport interface DeviceAuthorizationResponse {\r\n device_code: string;\r\n user_code: string;\r\n verification_uri: string;\r\n verification_uri_complete?: string;\r\n expires_in: number;\r\n interval?: number;\r\n}\r\n\r\nexport interface DeviceFlowState {\r\n status: \"loading\" | \"awaiting_user\" | \"polling\" | \"success\" | \"error\" | \"expired\";\r\n deviceAuth?: DeviceAuthorizationResponse;\r\n error?: string;\r\n pollCount?: number;\r\n}\r\n\r\nexport type AuthType = \"none\" | \"oauth_pkce\" | \"device_flow\" | \"form_login\";\r\n\r\nexport interface ProviderLogos {\r\n light: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ProviderInfo {\r\n id: string;\r\n name: string;\r\n logos: ProviderLogos;\r\n implemented: boolean;\r\n requiresAuth: boolean;\r\n authTypes: AuthType[];\r\n capabilities: ProviderCapabilities;\r\n}\r\n\r\nexport interface ContentFolder {\r\n type: \"folder\";\r\n id: string;\r\n title: string;\r\n image?: string;\r\n isLeaf?: boolean;\r\n path: string;\r\n providerData?: Record<string, unknown>;\r\n}\r\n\r\nexport interface ContentFile {\r\n type: \"file\";\r\n id: string;\r\n title: string;\r\n mediaType: \"video\" | \"image\";\r\n image?: string;\r\n url: string;\r\n embedUrl?: string;\r\n muxPlaybackId?: string;\r\n decryptionKey?: string;\r\n mediaId?: string;\r\n pingbackUrl?: string;\r\n providerData?: Record<string, unknown>;\r\n}\r\n\r\nexport type ContentItem = ContentFolder | ContentFile;\r\n\r\nexport function isContentFolder(item: ContentItem): item is ContentFolder {\r\n return item.type === \"folder\";\r\n}\r\n\r\nexport function isContentFile(item: ContentItem): item is ContentFile {\r\n return item.type === \"file\";\r\n}\r\n\r\nexport type DeviceFlowPollResult =\r\n | ContentProviderAuthData\r\n | { error: string; shouldSlowDown?: boolean }\r\n | null;\r\n\r\nexport interface PlanPresentation {\r\n id: string;\r\n name: string;\r\n actionType: \"play\" | \"add-on\" | \"other\";\r\n files: ContentFile[];\r\n}\r\n\r\nexport interface PlanSection {\r\n id: string;\r\n name: string;\r\n presentations: PlanPresentation[];\r\n}\r\n\r\nexport interface Plan {\r\n id: string;\r\n name: string;\r\n description?: string;\r\n image?: string;\r\n sections: PlanSection[];\r\n allFiles: ContentFile[];\r\n}\r\n\r\nexport interface FeedFileInterface {\r\n id?: string;\r\n name?: string;\r\n url?: string;\r\n streamUrl?: string;\r\n seconds?: number;\r\n fileType?: string;\r\n}\r\n\r\nexport interface FeedActionInterface {\r\n id?: string;\r\n actionType?: string;\r\n content?: string;\r\n files?: FeedFileInterface[];\r\n}\r\n\r\nexport interface FeedSectionInterface {\r\n id?: string;\r\n name?: string;\r\n actions?: FeedActionInterface[];\r\n}\r\n\r\nexport interface FeedVenueInterface {\r\n id?: string;\r\n lessonId?: string;\r\n name?: string;\r\n lessonName?: string;\r\n lessonDescription?: string;\r\n lessonImage?: string;\r\n sections?: FeedSectionInterface[];\r\n}\r\n\r\nexport interface InstructionItem {\r\n id?: string;\r\n itemType?: string;\r\n relatedId?: string;\r\n label?: string;\r\n description?: string;\r\n seconds?: number;\r\n children?: InstructionItem[];\r\n embedUrl?: string;\r\n}\r\n\r\nexport interface Instructions {\r\n venueName?: string;\r\n items: InstructionItem[];\r\n}\r\n\r\nexport interface VenueActionInterface {\r\n id?: string;\r\n name?: string;\r\n actionType?: string;\r\n seconds?: number;\r\n}\r\n\r\nexport interface VenueSectionActionsInterface {\r\n id?: string;\r\n name?: string;\r\n actions?: VenueActionInterface[];\r\n}\r\n\r\nexport interface VenueActionsResponseInterface {\r\n venueName?: string;\r\n sections?: VenueSectionActionsInterface[];\r\n}\r\n\r\nexport interface ProviderCapabilities {\r\n browse: boolean;\r\n presentations: boolean;\r\n playlist: boolean;\r\n instructions: boolean;\r\n expandedInstructions: boolean;\r\n mediaLicensing: boolean;\r\n}\r\n\r\nexport type MediaLicenseStatus = \"valid\" | \"expired\" | \"not_licensed\" | \"unknown\";\r\n\r\nexport interface MediaLicenseResult {\r\n mediaId: string;\r\n status: MediaLicenseStatus;\r\n message?: string;\r\n expiresAt?: string | number;\r\n}\r\n\r\n/**\r\n * Core provider interface - all providers should implement this\r\n */\r\nexport interface IProvider {\r\n // Identity (required)\r\n readonly id: string;\r\n readonly name: string;\r\n readonly logos: ProviderLogos;\r\n readonly config: ContentProviderConfig;\r\n\r\n // Metadata (required)\r\n readonly requiresAuth: boolean;\r\n readonly capabilities: ProviderCapabilities;\r\n readonly authTypes: AuthType[];\r\n\r\n // Core methods (required)\r\n browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]>;\r\n getPresentations(path: string, auth?: ContentProviderAuthData | null): Promise<Plan | null>;\r\n\r\n // Optional methods - providers can implement these if they have custom logic\r\n getPlaylist?(path: string, auth?: ContentProviderAuthData | null, resolution?: number): Promise<ContentFile[] | null>;\r\n getInstructions?(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null>;\r\n getExpandedInstructions?(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null>;\r\n checkMediaLicense?(mediaId: string, auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null>;\r\n}\r\n\r\n/**\r\n * @deprecated Use IProvider instead. This interface will be removed in a future version.\r\n */\r\nexport interface IContentProvider {\r\n // Identity\r\n readonly id: string;\r\n readonly name: string;\r\n readonly logos: ProviderLogos;\r\n readonly config: ContentProviderConfig;\r\n\r\n // Content browsing\r\n browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]>;\r\n getPresentations(path: string, auth?: ContentProviderAuthData | null): Promise<Plan | null>;\r\n\r\n // Content retrieval\r\n getPlaylist(path: string, auth?: ContentProviderAuthData | null, resolution?: number): Promise<ContentFile[] | null>;\r\n getInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null>;\r\n getExpandedInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null>;\r\n\r\n // Capability & auth detection\r\n requiresAuth(): boolean;\r\n getCapabilities(): ProviderCapabilities;\r\n\r\n // Media licensing\r\n checkMediaLicense(mediaId: string, auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null>;\r\n}\r\n\r\n/**\r\n * @deprecated Use auth helpers directly (OAuthHelper, DeviceFlowHelper, TokenHelper) with provider.config.\r\n * This interface will be removed in a future version.\r\n */\r\nexport interface IAuthProvider {\r\n getAuthTypes(): AuthType[];\r\n isAuthValid(auth: ContentProviderAuthData | null | undefined): boolean;\r\n isTokenExpired(auth: ContentProviderAuthData): boolean;\r\n refreshToken(auth: ContentProviderAuthData): Promise<ContentProviderAuthData | null>;\r\n\r\n // OAuth PKCE\r\n generateCodeVerifier(): string;\r\n generateCodeChallenge(verifier: string): Promise<string>;\r\n buildAuthUrl(codeVerifier: string, redirectUri: string, state?: string): Promise<{ url: string; challengeMethod: string }>;\r\n exchangeCodeForTokens(code: string, codeVerifier: string, redirectUri: string): Promise<ContentProviderAuthData | null>;\r\n\r\n // Device flow\r\n supportsDeviceFlow(): boolean;\r\n initiateDeviceFlow(): Promise<DeviceAuthorizationResponse | null>;\r\n pollDeviceFlowToken(deviceCode: string): Promise<DeviceFlowPollResult>;\r\n calculatePollDelay(baseInterval?: number, slowDownCount?: number): number;\r\n}\r\n","import { ContentFolder, ContentFile } from \"./interfaces\";\r\n\r\nexport function detectMediaType(url: string, explicitType?: string): \"video\" | \"image\" {\r\n if (explicitType === \"video\") return \"video\";\r\n const videoPatterns = [\".mp4\", \".webm\", \".m3u8\", \".mov\", \"stream.mux.com\"];\r\n return videoPatterns.some(p => url.includes(p)) ? \"video\" : \"image\";\r\n}\r\n\r\nexport function createFolder(id: string, title: string, path: string, image?: string, providerData?: Record<string, unknown>, isLeaf?: boolean): ContentFolder {\r\n return { type: \"folder\", id, title, path, image, isLeaf, providerData };\r\n}\r\n\r\nexport function createFile(id: string, title: string, url: string, options?: { mediaType?: \"video\" | \"image\"; image?: string; muxPlaybackId?: string; providerData?: Record<string, unknown>; }): ContentFile {\r\n return { type: \"file\", id, title, url, mediaType: options?.mediaType ?? detectMediaType(url), image: options?.image, muxPlaybackId: options?.muxPlaybackId, providerData: options?.providerData };\r\n}\r\n","/**\r\n * Path parsing utilities for content providers.\r\n * Paths follow the format: /segment1/segment2/segment3/...\r\n * Example: /lessons/programId/studyId/lessonId/venueId\r\n */\r\n\r\nexport interface ParsedPath {\r\n segments: string[];\r\n depth: number;\r\n}\r\n\r\n/**\r\n * Parse a path string into segments and depth.\r\n * @param path - The path to parse (e.g., \"/lessons/abc123/def456\")\r\n * @returns Object with segments array and depth count\r\n */\r\nexport function parsePath(path: string | null | undefined): ParsedPath {\r\n if (!path || path === \"/\" || path === \"\") {\r\n return { segments: [], depth: 0 };\r\n }\r\n const segments = path.replace(/^\\//, \"\").split(\"/\").filter(Boolean);\r\n return { segments, depth: segments.length };\r\n}\r\n\r\n/**\r\n * Get a specific segment from a path by index.\r\n * @param path - The path to parse\r\n * @param index - Zero-based index of the segment to retrieve\r\n * @returns The segment at the given index, or null if not found\r\n */\r\nexport function getSegment(path: string | null | undefined, index: number): string | null {\r\n const { segments } = parsePath(path);\r\n return segments[index] ?? null;\r\n}\r\n\r\n/**\r\n * Build a path string from segments.\r\n * @param segments - Array of path segments\r\n * @returns Path string with leading slash\r\n */\r\nexport function buildPath(segments: string[]): string {\r\n if (segments.length === 0) return \"\";\r\n return \"/\" + segments.join(\"/\");\r\n}\r\n\r\n/**\r\n * Append a segment to an existing path.\r\n * @param basePath - The base path\r\n * @param segment - The segment to append\r\n * @returns New path with segment appended\r\n */\r\nexport function appendToPath(basePath: string | null | undefined, segment: string): string {\r\n if (!basePath || basePath === \"/\" || basePath === \"\") {\r\n return \"/\" + segment;\r\n }\r\n const cleanBase = basePath.endsWith(\"/\") ? basePath.slice(0, -1) : basePath;\r\n return cleanBase + \"/\" + segment;\r\n}\r\n","import type { ContentFile, Plan, PlanSection, PlanPresentation, Instructions, InstructionItem } from \"./interfaces\";\r\nimport { detectMediaType } from \"./utils\";\r\n\r\nfunction generateId(): string {\r\n return \"gen-\" + Math.random().toString(36).substring(2, 11);\r\n}\r\n\r\nfunction mapItemTypeToActionType(itemType?: string): \"play\" | \"add-on\" | \"other\" {\r\n switch (itemType) {\r\n case \"action\":\r\n case \"lessonAction\":\r\n case \"providerPresentation\":\r\n case \"play\":\r\n return \"play\";\r\n case \"addon\":\r\n case \"add-on\":\r\n case \"lessonAddOn\":\r\n case \"providerFile\":\r\n return \"add-on\";\r\n default:\r\n return \"other\";\r\n }\r\n}\r\n\r\nfunction mapActionTypeToItemType(actionType: \"play\" | \"add-on\" | \"other\"): string {\r\n switch (actionType) {\r\n case \"play\": return \"action\";\r\n case \"add-on\": return \"addon\";\r\n default: return \"item\";\r\n }\r\n}\r\n\r\n// LOSSLESS: All file data preserved, only hierarchy lost\r\nexport function presentationsToPlaylist(plan: Plan): ContentFile[] {\r\n if (plan.allFiles && plan.allFiles.length > 0) {\r\n return [...plan.allFiles];\r\n }\r\n\r\n const files: ContentFile[] = [];\r\n for (const section of plan.sections) {\r\n for (const presentation of section.presentations) {\r\n files.push(...presentation.files);\r\n }\r\n }\r\n return files;\r\n}\r\n\r\n// LOSSLESS: Structure maps directly\r\nexport function presentationsToInstructions(plan: Plan): Instructions {\r\n return { venueName: plan.name, items: plan.sections.map(section => ({ id: section.id, itemType: \"section\", label: section.name, children: section.presentations.map(pres => { const totalSeconds = pres.files.reduce((sum, f) => sum + ((f.providerData?.seconds as number) || 0), 0); return { id: pres.id, itemType: mapActionTypeToItemType(pres.actionType), label: pres.name, seconds: totalSeconds || undefined, embedUrl: pres.files[0]?.embedUrl || pres.files[0]?.url }; }) })) };\r\n}\r\n\r\n// LOSSLESS: All hierarchy and file data preserved\r\nexport function presentationsToExpandedInstructions(plan: Plan): Instructions {\r\n return { venueName: plan.name, items: plan.sections.map(section => ({ id: section.id, itemType: \"section\", label: section.name, children: section.presentations.map(pres => ({ id: pres.id, itemType: mapActionTypeToItemType(pres.actionType), label: pres.name, description: pres.actionType !== \"other\" ? pres.actionType : undefined, seconds: pres.files.reduce((sum, f) => sum + ((f.providerData?.seconds as number) || 0), 0) || undefined, children: pres.files.map(f => ({ id: f.id, itemType: \"file\", label: f.title, seconds: (f.providerData?.seconds as number) || undefined, embedUrl: f.embedUrl || f.url })) })) })) };\r\n}\r\n\r\n// LOSSLESS for media: All items with embedUrl become files\r\nexport function instructionsToPlaylist(instructions: Instructions): ContentFile[] {\r\n const files: ContentFile[] = [];\r\n\r\n function extractFiles(items: InstructionItem[]) {\r\n for (const item of items) {\r\n if (item.embedUrl && (item.itemType === \"file\" || !item.children?.length)) {\r\n files.push({ type: \"file\", id: item.id || item.relatedId || generateId(), title: item.label || \"Untitled\", mediaType: detectMediaType(item.embedUrl), url: item.embedUrl, embedUrl: item.embedUrl, providerData: item.seconds ? { seconds: item.seconds } : undefined });\r\n }\r\n if (item.children) {\r\n extractFiles(item.children);\r\n }\r\n }\r\n }\r\n\r\n extractFiles(instructions.items);\r\n return files;\r\n}\r\n\r\nexport const expandedInstructionsToPlaylist = instructionsToPlaylist;\r\n\r\n// LOSSLESS when instructions have proper structure\r\nexport function instructionsToPresentations(instructions: Instructions, planId?: string): Plan {\r\n const allFiles: ContentFile[] = [];\r\n\r\n const sections: PlanSection[] = instructions.items.filter(item => item.children && item.children.length > 0).map(sectionItem => {\r\n const presentations: PlanPresentation[] = (sectionItem.children || []).map(presItem => {\r\n const files: ContentFile[] = [];\r\n\r\n if (presItem.children && presItem.children.length > 0) {\r\n for (const child of presItem.children) {\r\n if (child.embedUrl) {\r\n const file: ContentFile = { type: \"file\", id: child.id || child.relatedId || generateId(), title: child.label || \"Untitled\", mediaType: detectMediaType(child.embedUrl), url: child.embedUrl, embedUrl: child.embedUrl, providerData: child.seconds ? { seconds: child.seconds } : undefined };\r\n allFiles.push(file);\r\n files.push(file);\r\n }\r\n }\r\n }\r\n\r\n if (files.length === 0 && presItem.embedUrl) {\r\n const file: ContentFile = { type: \"file\", id: presItem.id || presItem.relatedId || generateId(), title: presItem.label || \"Untitled\", mediaType: detectMediaType(presItem.embedUrl), url: presItem.embedUrl, embedUrl: presItem.embedUrl, providerData: presItem.seconds ? { seconds: presItem.seconds } : undefined };\r\n allFiles.push(file);\r\n files.push(file);\r\n }\r\n\r\n return { id: presItem.id || presItem.relatedId || generateId(), name: presItem.label || \"Presentation\", actionType: mapItemTypeToActionType(presItem.itemType), files };\r\n });\r\n\r\n return { id: sectionItem.id || sectionItem.relatedId || generateId(), name: sectionItem.label || \"Section\", presentations };\r\n });\r\n\r\n return { id: planId || generateId(), name: instructions.venueName || \"Plan\", sections, allFiles };\r\n}\r\n\r\nexport const expandedInstructionsToPresentations = instructionsToPresentations;\r\n\r\n// LOSSY: Deep children collapsed, but structure preserved\r\nexport function collapseInstructions(instructions: Instructions, maxDepth: number = 2): Instructions {\r\n function collapseItem(item: InstructionItem, currentDepth: number): InstructionItem {\r\n if (currentDepth >= maxDepth || !item.children || item.children.length === 0) {\r\n const { children, ...rest } = item;\r\n if (children && children.length > 0) {\r\n const totalSeconds = children.reduce((sum, c) => sum + (c.seconds || 0), 0);\r\n if (totalSeconds > 0) {\r\n rest.seconds = totalSeconds;\r\n }\r\n if (!rest.embedUrl) {\r\n const firstWithUrl = children.find(c => c.embedUrl);\r\n if (firstWithUrl) {\r\n rest.embedUrl = firstWithUrl.embedUrl;\r\n }\r\n }\r\n }\r\n return rest;\r\n }\r\n\r\n return {\r\n ...item,\r\n children: item.children.map(child => collapseItem(child, currentDepth + 1))\r\n };\r\n }\r\n\r\n return {\r\n venueName: instructions.venueName,\r\n items: instructions.items.map(item => collapseItem(item, 0))\r\n };\r\n}\r\n\r\n// LOSSY: No structural information - all files in one section\r\nexport function playlistToPresentations(files: ContentFile[], planName: string = \"Playlist\", sectionName: string = \"Content\"): Plan {\r\n const presentations: PlanPresentation[] = files.map((file, index) => ({ id: `pres-${index}-${file.id}`, name: file.title, actionType: \"play\" as const, files: [file] }));\r\n return { id: \"playlist-plan-\" + generateId(), name: planName, sections: [{ id: \"main-section\", name: sectionName, presentations }], allFiles: [...files] };\r\n}\r\n\r\n// LOSSY: Minimal structure - just file references in a single section\r\nexport function playlistToInstructions(files: ContentFile[], venueName: string = \"Playlist\"): Instructions {\r\n return { venueName, items: [{ id: \"main-section\", itemType: \"section\", label: \"Content\", children: files.map((file, index) => ({ id: file.id || `item-${index}`, itemType: \"file\", label: file.title, seconds: (file.providerData?.seconds as number) || undefined, embedUrl: file.embedUrl || file.url })) }] };\r\n}\r\n\r\nexport const playlistToExpandedInstructions = playlistToInstructions;\r\n","import type { IProvider, ContentFile, ContentProviderAuthData, Plan, Instructions } from \"./interfaces\";\r\nimport * as Converters from \"./FormatConverters\";\r\nimport { parsePath } from \"./pathUtils\";\r\n\r\nexport interface FormatResolverOptions {\r\n allowLossy?: boolean;\r\n}\r\n\r\nexport interface ResolvedFormatMeta {\r\n isNative: boolean;\r\n sourceFormat?: \"playlist\" | \"presentations\" | \"instructions\" | \"expandedInstructions\";\r\n isLossy: boolean;\r\n}\r\n\r\nexport class FormatResolver {\r\n private provider: IProvider;\r\n private options: Required<FormatResolverOptions>;\r\n\r\n constructor(provider: IProvider, options: FormatResolverOptions = {}) {\r\n this.provider = provider;\r\n this.options = { allowLossy: options.allowLossy ?? true };\r\n }\r\n\r\n getProvider(): IProvider {\r\n return this.provider;\r\n }\r\n\r\n /** Extract the last segment from a path to use as fallback ID/title */\r\n private getIdFromPath(path: string): string {\r\n const { segments } = parsePath(path);\r\n return segments[segments.length - 1] || \"content\";\r\n }\r\n\r\n async getPlaylist(path: string, auth?: ContentProviderAuthData | null): Promise<ContentFile[] | null> {\r\n const caps = this.provider.capabilities;\r\n\r\n if (caps.playlist && this.provider.getPlaylist) {\r\n const result = await this.provider.getPlaylist(path, auth);\r\n if (result && result.length > 0) return result;\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(path, auth);\r\n if (plan) return Converters.presentationsToPlaylist(plan);\r\n }\r\n\r\n if (caps.expandedInstructions && this.provider.getExpandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(path, auth);\r\n if (expanded) return Converters.instructionsToPlaylist(expanded);\r\n }\r\n\r\n if (this.options.allowLossy && caps.instructions && this.provider.getInstructions) {\r\n const instructions = await this.provider.getInstructions(path, auth);\r\n if (instructions) return Converters.instructionsToPlaylist(instructions);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getPlaylistWithMeta(path: string, auth?: ContentProviderAuthData | null): Promise<{ data: ContentFile[] | null; meta: ResolvedFormatMeta }> {\r\n const caps = this.provider.capabilities;\r\n\r\n if (caps.playlist && this.provider.getPlaylist) {\r\n const result = await this.provider.getPlaylist(path, auth);\r\n if (result && result.length > 0) {\r\n return { data: result, meta: { isNative: true, isLossy: false } };\r\n }\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(path, auth);\r\n if (plan) return { data: Converters.presentationsToPlaylist(plan), meta: { isNative: false, sourceFormat: \"presentations\", isLossy: false } };\r\n }\r\n\r\n if (caps.expandedInstructions && this.provider.getExpandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(path, auth);\r\n if (expanded) return { data: Converters.instructionsToPlaylist(expanded), meta: { isNative: false, sourceFormat: \"expandedInstructions\", isLossy: false } };\r\n }\r\n\r\n if (this.options.allowLossy && caps.instructions && this.provider.getInstructions) {\r\n const instructions = await this.provider.getInstructions(path, auth);\r\n if (instructions) return { data: Converters.instructionsToPlaylist(instructions), meta: { isNative: false, sourceFormat: \"instructions\", isLossy: true } };\r\n }\r\n\r\n return { data: null, meta: { isNative: false, isLossy: false } };\r\n }\r\n\r\n async getPresentations(path: string, auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const caps = this.provider.capabilities;\r\n const fallbackId = this.getIdFromPath(path);\r\n\r\n if (caps.presentations) {\r\n const result = await this.provider.getPresentations(path, auth);\r\n if (result) return result;\r\n }\r\n\r\n if (caps.expandedInstructions && this.provider.getExpandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(path, auth);\r\n if (expanded) return Converters.instructionsToPresentations(expanded, fallbackId);\r\n }\r\n\r\n if (caps.instructions && this.provider.getInstructions) {\r\n const instructions = await this.provider.getInstructions(path, auth);\r\n if (instructions) return Converters.instructionsToPresentations(instructions, fallbackId);\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist && this.provider.getPlaylist) {\r\n const playlist = await this.provider.getPlaylist(path, auth);\r\n if (playlist && playlist.length > 0) {\r\n return Converters.playlistToPresentations(playlist, fallbackId);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getPresentationsWithMeta(path: string, auth?: ContentProviderAuthData | null): Promise<{ data: Plan | null; meta: ResolvedFormatMeta }> {\r\n const caps = this.provider.capabilities;\r\n const fallbackId = this.getIdFromPath(path);\r\n\r\n if (caps.presentations) {\r\n const result = await this.provider.getPresentations(path, auth);\r\n if (result) {\r\n return { data: result, meta: { isNative: true, isLossy: false } };\r\n }\r\n }\r\n\r\n if (caps.expandedInstructions && this.provider.getExpandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(path, auth);\r\n if (expanded) return { data: Converters.instructionsToPresentations(expanded, fallbackId), meta: { isNative: false, sourceFormat: \"expandedInstructions\", isLossy: false } };\r\n }\r\n\r\n if (caps.instructions && this.provider.getInstructions) {\r\n const instructions = await this.provider.getInstructions(path, auth);\r\n if (instructions) return { data: Converters.instructionsToPresentations(instructions, fallbackId), meta: { isNative: false, sourceFormat: \"instructions\", isLossy: true } };\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist && this.provider.getPlaylist) {\r\n const playlist = await this.provider.getPlaylist(path, auth);\r\n if (playlist && playlist.length > 0) return { data: Converters.playlistToPresentations(playlist, fallbackId), meta: { isNative: false, sourceFormat: \"playlist\", isLossy: true } };\r\n }\r\n\r\n return { data: null, meta: { isNative: false, isLossy: false } };\r\n }\r\n\r\n async getInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const caps = this.provider.capabilities;\r\n const fallbackTitle = this.getIdFromPath(path);\r\n\r\n if (caps.instructions && this.provider.getInstructions) {\r\n const result = await this.provider.getInstructions(path, auth);\r\n if (result) return result;\r\n }\r\n\r\n if (caps.expandedInstructions && this.provider.getExpandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(path, auth);\r\n if (expanded) return Converters.collapseInstructions(expanded);\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(path, auth);\r\n if (plan) return Converters.presentationsToInstructions(plan);\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist && this.provider.getPlaylist) {\r\n const playlist = await this.provider.getPlaylist(path, auth);\r\n if (playlist && playlist.length > 0) {\r\n return Converters.playlistToInstructions(playlist, fallbackTitle);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getInstructionsWithMeta(path: string, auth?: ContentProviderAuthData | null): Promise<{ data: Instructions | null; meta: ResolvedFormatMeta }> {\r\n const caps = this.provider.capabilities;\r\n const fallbackTitle = this.getIdFromPath(path);\r\n\r\n if (caps.instructions && this.provider.getInstructions) {\r\n const result = await this.provider.getInstructions(path, auth);\r\n if (result) {\r\n return { data: result, meta: { isNative: true, isLossy: false } };\r\n }\r\n }\r\n\r\n if (caps.expandedInstructions && this.provider.getExpandedInstructions) {\r\n const expanded = await this.provider.getExpandedInstructions(path, auth);\r\n if (expanded) return { data: Converters.collapseInstructions(expanded), meta: { isNative: false, sourceFormat: \"expandedInstructions\", isLossy: true } };\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(path, auth);\r\n if (plan) return { data: Converters.presentationsToInstructions(plan), meta: { isNative: false, sourceFormat: \"presentations\", isLossy: false } };\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist && this.provider.getPlaylist) {\r\n const playlist = await this.provider.getPlaylist(path, auth);\r\n if (playlist && playlist.length > 0) return { data: Converters.playlistToInstructions(playlist, fallbackTitle), meta: { isNative: false, sourceFormat: \"playlist\", isLossy: true } };\r\n }\r\n\r\n return { data: null, meta: { isNative: false, isLossy: false } };\r\n }\r\n\r\n async getExpandedInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const caps = this.provider.capabilities;\r\n const fallbackTitle = this.getIdFromPath(path);\r\n\r\n if (caps.expandedInstructions && this.provider.getExpandedInstructions) {\r\n const result = await this.provider.getExpandedInstructions(path, auth);\r\n if (result) return result;\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(path, auth);\r\n if (plan) return Converters.presentationsToExpandedInstructions(plan);\r\n }\r\n\r\n if (caps.instructions && this.provider.getInstructions) {\r\n const instructions = await this.provider.getInstructions(path, auth);\r\n if (instructions) return instructions;\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist && this.provider.getPlaylist) {\r\n const playlist = await this.provider.getPlaylist(path, auth);\r\n if (playlist && playlist.length > 0) {\r\n return Converters.playlistToInstructions(playlist, fallbackTitle);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getExpandedInstructionsWithMeta(path: string, auth?: ContentProviderAuthData | null): Promise<{ data: Instructions | null; meta: ResolvedFormatMeta }> {\r\n const caps = this.provider.capabilities;\r\n const fallbackTitle = this.getIdFromPath(path);\r\n\r\n if (caps.expandedInstructions && this.provider.getExpandedInstructions) {\r\n const result = await this.provider.getExpandedInstructions(path, auth);\r\n if (result) {\r\n return { data: result, meta: { isNative: true, isLossy: false } };\r\n }\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.provider.getPresentations(path, auth);\r\n if (plan) return { data: Converters.presentationsToExpandedInstructions(plan), meta: { isNative: false, sourceFormat: \"presentations\", isLossy: false } };\r\n }\r\n\r\n if (caps.instructions && this.provider.getInstructions) {\r\n const instructions = await this.provider.getInstructions(path, auth);\r\n if (instructions) return { data: instructions, meta: { isNative: false, sourceFormat: \"instructions\", isLossy: true } };\r\n }\r\n\r\n if (this.options.allowLossy && caps.playlist && this.provider.getPlaylist) {\r\n const playlist = await this.provider.getPlaylist(path, auth);\r\n if (playlist && playlist.length > 0) return { data: Converters.playlistToInstructions(playlist, fallbackTitle), meta: { isNative: false, sourceFormat: \"playlist\", isLossy: true } };\r\n }\r\n\r\n return { data: null, meta: { isNative: false, isLossy: false } };\r\n }\r\n}\r\n","import { ContentProviderAuthData, ContentProviderConfig } from \"../interfaces\";\r\n\r\nexport class OAuthHelper {\r\n generateCodeVerifier(): string {\r\n const chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~\";\r\n const length = 64;\r\n const array = new Uint8Array(length);\r\n crypto.getRandomValues(array);\r\n let result = \"\";\r\n for (let i = 0; i < length; i++) {\r\n result += chars.charAt(array[i] % chars.length);\r\n }\r\n return result;\r\n }\r\n\r\n async generateCodeChallenge(verifier: string): Promise<string> {\r\n const encoder = new TextEncoder();\r\n const data = encoder.encode(verifier);\r\n const hashBuffer = await crypto.subtle.digest(\"SHA-256\", data);\r\n const hashArray = new Uint8Array(hashBuffer);\r\n\r\n let binary = \"\";\r\n for (let i = 0; i < hashArray.length; i++) {\r\n binary += String.fromCharCode(hashArray[i]);\r\n }\r\n const base64 = btoa(binary);\r\n return base64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\r\n }\r\n\r\n async buildAuthUrl(config: ContentProviderConfig, codeVerifier: string, redirectUri: string, state?: string): Promise<{ url: string; challengeMethod: string }> {\r\n const codeChallenge = await this.generateCodeChallenge(codeVerifier);\r\n const params = new URLSearchParams({\r\n response_type: \"code\",\r\n client_id: config.clientId,\r\n redirect_uri: redirectUri,\r\n scope: config.scopes.join(\" \"),\r\n code_challenge: codeChallenge,\r\n code_challenge_method: \"S256\",\r\n state: state || \"\"\r\n });\r\n return { url: `${config.oauthBase}/authorize?${params.toString()}`, challengeMethod: \"S256\" };\r\n }\r\n\r\n async exchangeCodeForTokens(config: ContentProviderConfig, providerId: string, code: string, codeVerifier: string, redirectUri: string): Promise<ContentProviderAuthData | null> {\r\n try {\r\n const params = new URLSearchParams({\r\n grant_type: \"authorization_code\",\r\n code,\r\n redirect_uri: redirectUri,\r\n client_id: config.clientId,\r\n code_verifier: codeVerifier\r\n });\r\n\r\n const tokenUrl = `${config.oauthBase}/token`;\r\n console.log(`${providerId} token exchange request to: ${tokenUrl}`);\r\n console.log(` - client_id: ${config.clientId}`);\r\n console.log(` - redirect_uri: ${redirectUri}`);\r\n console.log(` - code: ${code.substring(0, 10)}...`);\r\n\r\n const response = await fetch(tokenUrl, { method: \"POST\", headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" }, body: params.toString() });\r\n\r\n console.log(`${providerId} token response status: ${response.status}`);\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(`${providerId} token exchange failed: ${response.status} - ${errorText}`);\r\n return null;\r\n }\r\n\r\n const data = await response.json();\r\n console.log(`${providerId} token exchange successful, got access_token: ${!!data.access_token}`);\r\n return { access_token: data.access_token, refresh_token: data.refresh_token, token_type: data.token_type || \"Bearer\", created_at: Math.floor(Date.now() / 1000), expires_in: data.expires_in, scope: data.scope || config.scopes.join(\" \") };\r\n } catch (error) {\r\n console.error(`${providerId} token exchange error:`, error);\r\n return null;\r\n }\r\n }\r\n}\r\n","import { ContentProviderAuthData, ContentProviderConfig } from \"../interfaces\";\r\n\r\nexport class TokenHelper {\r\n isAuthValid(auth: ContentProviderAuthData | null | undefined): boolean {\r\n if (!auth) return false;\r\n return !this.isTokenExpired(auth);\r\n }\r\n\r\n isTokenExpired(auth: ContentProviderAuthData): boolean {\r\n if (!auth.created_at || !auth.expires_in) return true;\r\n const expiresAt = (auth.created_at + auth.expires_in) * 1000;\r\n return Date.now() > expiresAt - 5 * 60 * 1000; // 5-minute buffer\r\n }\r\n\r\n async refreshToken(config: ContentProviderConfig, auth: ContentProviderAuthData): Promise<ContentProviderAuthData | null> {\r\n if (!auth.refresh_token) return null;\r\n\r\n try {\r\n const params = new URLSearchParams({\r\n grant_type: \"refresh_token\",\r\n refresh_token: auth.refresh_token,\r\n client_id: config.clientId\r\n });\r\n\r\n const response = await fetch(`${config.oauthBase}/token`, { method: \"POST\", headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" }, body: params.toString() });\r\n if (!response.ok) return null;\r\n\r\n const data = await response.json();\r\n return { access_token: data.access_token, refresh_token: data.refresh_token || auth.refresh_token, token_type: data.token_type || \"Bearer\", created_at: Math.floor(Date.now() / 1000), expires_in: data.expires_in, scope: data.scope || auth.scope };\r\n } catch {\r\n return null;\r\n }\r\n }\r\n}\r\n","import { ContentProviderConfig, DeviceAuthorizationResponse, DeviceFlowPollResult } from \"../interfaces\";\r\n\r\nexport class DeviceFlowHelper {\r\n supportsDeviceFlow(config: ContentProviderConfig): boolean {\r\n return !!config.supportsDeviceFlow && !!config.deviceAuthEndpoint;\r\n }\r\n\r\n async initiateDeviceFlow(config: ContentProviderConfig): Promise<DeviceAuthorizationResponse | null> {\r\n if (!this.supportsDeviceFlow(config)) return null;\r\n\r\n try {\r\n const response = await fetch(`${config.oauthBase}${config.deviceAuthEndpoint}`, { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify({ client_id: config.clientId, scope: config.scopes.join(\" \") }) });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n async pollDeviceFlowToken(config: ContentProviderConfig, deviceCode: string): Promise<DeviceFlowPollResult> {\r\n try {\r\n const response = await fetch(`${config.oauthBase}/token`, { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify({ grant_type: \"urn:ietf:params:oauth:grant-type:device_code\", device_code: deviceCode, client_id: config.clientId }) });\r\n\r\n if (response.ok) {\r\n const data = await response.json();\r\n return { access_token: data.access_token, refresh_token: data.refresh_token, token_type: data.token_type || \"Bearer\", created_at: Math.floor(Date.now() / 1000), expires_in: data.expires_in, scope: data.scope || config.scopes.join(\" \") };\r\n }\r\n\r\n const errorData = await response.json();\r\n switch (errorData.error) {\r\n case \"authorization_pending\": return { error: \"authorization_pending\" };\r\n case \"slow_down\": return { error: \"slow_down\", shouldSlowDown: true };\r\n case \"expired_token\": return null;\r\n case \"access_denied\": return null;\r\n default: return null;\r\n }\r\n } catch {\r\n return { error: \"network_error\" };\r\n }\r\n }\r\n\r\n calculatePollDelay(baseInterval: number = 5, slowDownCount: number = 0): number {\r\n return (baseInterval + slowDownCount * 5) * 1000;\r\n }\r\n}\r\n","import { ContentProviderAuthData, ContentProviderConfig } from \"../interfaces\";\r\n\r\nexport class ApiHelper {\r\n createAuthHeaders(auth: ContentProviderAuthData | null | undefined): Record<string, string> | null {\r\n if (!auth) return null;\r\n return { Authorization: `Bearer ${auth.access_token}`, Accept: \"application/json\" };\r\n }\r\n\r\n async apiRequest<T>(config: ContentProviderConfig, providerId: string, path: string, auth?: ContentProviderAuthData | null, method: \"GET\" | \"POST\" = \"GET\", body?: unknown): Promise<T | null> {\r\n try {\r\n const url = `${config.apiBase}${path}`;\r\n const headers: Record<string, string> = { Accept: \"application/json\" };\r\n if (auth) headers[\"Authorization\"] = `Bearer ${auth.access_token}`;\r\n if (body) headers[\"Content-Type\"] = \"application/json\";\r\n\r\n console.log(`${providerId} API request: ${method} ${url}`);\r\n console.log(`${providerId} API auth present: ${!!auth}`);\r\n\r\n const options: RequestInit = { method, headers, ...(body ? { body: JSON.stringify(body) } : {}) };\r\n const response = await fetch(url, options);\r\n\r\n console.log(`${providerId} API response status: ${response.status}`);\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(`${providerId} API request failed: ${response.status} - ${errorText}`);\r\n return null;\r\n }\r\n return await response.json();\r\n } catch (error) {\r\n console.error(`${providerId} API request error:`, error);\r\n return null;\r\n }\r\n }\r\n}\r\n","import { ContentProviderAuthData, ContentProviderConfig, ContentItem, ContentFolder, ContentFile, DeviceAuthorizationResponse, DeviceFlowPollResult, ProviderLogos, AuthType, Plan, Instructions, ProviderCapabilities, MediaLicenseResult, IContentProvider, IAuthProvider } from \"./interfaces\";\r\nimport { detectMediaType } from \"./utils\";\r\nimport * as Converters from \"./FormatConverters\";\r\nimport { OAuthHelper, TokenHelper, DeviceFlowHelper, ApiHelper } from \"./helpers\";\r\n\r\n/**\r\n * @deprecated Use IProvider interface instead. Providers should implement IProvider directly\r\n * and use helper classes (OAuthHelper, TokenHelper, DeviceFlowHelper, ApiHelper) via composition.\r\n * This class will be removed in a future version.\r\n */\r\nexport abstract class ContentProvider implements IContentProvider, IAuthProvider {\r\n abstract readonly id: string;\r\n abstract readonly name: string;\r\n abstract readonly logos: ProviderLogos;\r\n abstract readonly config: ContentProviderConfig;\r\n\r\n protected readonly oauthHelper = new OAuthHelper();\r\n protected readonly tokenHelper = new TokenHelper();\r\n protected readonly deviceFlowHelper = new DeviceFlowHelper();\r\n protected readonly apiHelper = new ApiHelper();\r\n\r\n abstract browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]>;\r\n\r\n abstract getPresentations(path: string, auth?: ContentProviderAuthData | null): Promise<Plan | null>;\r\n\r\n async getPlaylist(path: string, auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null> {\r\n const caps = this.getCapabilities();\r\n if (caps.presentations) {\r\n const plan = await this.getPresentations(path, auth);\r\n if (plan) return Converters.presentationsToPlaylist(plan);\r\n }\r\n return null;\r\n }\r\n\r\n async getInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const caps = this.getCapabilities();\r\n\r\n if (caps.expandedInstructions) {\r\n const expanded = await this.getExpandedInstructions(path, auth);\r\n if (expanded) return Converters.collapseInstructions(expanded);\r\n }\r\n\r\n if (caps.presentations) {\r\n const plan = await this.getPresentations(path, auth);\r\n if (plan) return Converters.presentationsToInstructions(plan);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getExpandedInstructions(path: string, auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const caps = this.getCapabilities();\r\n\r\n if (caps.presentations) {\r\n const plan = await this.getPresentations(path, auth);\r\n if (plan) return Converters.presentationsToExpandedInstructions(plan);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n requiresAuth(): boolean {\r\n return !!this.config.clientId;\r\n }\r\n\r\n getCapabilities(): ProviderCapabilities {\r\n return { browse: true, presentations: false, playlist: false, instructions: false, expandedInstructions: false, mediaLicensing: false };\r\n }\r\n\r\n checkMediaLicense(_mediaId: string, _auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null> {\r\n return Promise.resolve(null);\r\n }\r\n\r\n getAuthTypes(): AuthType[] {\r\n if (!this.requiresAuth()) return [\"none\"];\r\n const types: AuthType[] = [\"oauth_pkce\"];\r\n if (this.supportsDeviceFlow()) types.push(\"device_flow\");\r\n return types;\r\n }\r\n\r\n // Token management - delegated to TokenHelper\r\n isAuthValid(auth: ContentProviderAuthData | null | undefined): boolean {\r\n return this.tokenHelper.isAuthValid(auth);\r\n }\r\n\r\n isTokenExpired(auth: ContentProviderAuthData): boolean {\r\n return this.tokenHelper.isTokenExpired(auth);\r\n }\r\n\r\n async refreshToken(auth: ContentProviderAuthData): Promise<ContentProviderAuthData | null> {\r\n return this.tokenHelper.refreshToken(this.config, auth);\r\n }\r\n\r\n // OAuth PKCE - delegated to OAuthHelper\r\n generateCodeVerifier(): string {\r\n return this.oauthHelper.generateCodeVerifier();\r\n }\r\n\r\n async generateCodeChallenge(verifier: string): Promise<string> {\r\n return this.oauthHelper.generateCodeChallenge(verifier);\r\n }\r\n\r\n async buildAuthUrl(codeVerifier: string, redirectUri: string, state?: string): Promise<{ url: string; challengeMethod: string }> {\r\n return this.oauthHelper.buildAuthUrl(this.config, codeVerifier, redirectUri, state || this.id);\r\n }\r\n\r\n async exchangeCodeForTokens(code: string, codeVerifier: string, redirectUri: string): Promise<ContentProviderAuthData | null> {\r\n return this.oauthHelper.exchangeCodeForTokens(this.config, this.id, code, codeVerifier, redirectUri);\r\n }\r\n\r\n // Device flow - delegated to DeviceFlowHelper\r\n supportsDeviceFlow(): boolean {\r\n return this.deviceFlowHelper.supportsDeviceFlow(this.config);\r\n }\r\n\r\n async initiateDeviceFlow(): Promise<DeviceAuthorizationResponse | null> {\r\n return this.deviceFlowHelper.initiateDeviceFlow(this.config);\r\n }\r\n\r\n async pollDeviceFlowToken(deviceCode: string): Promise<DeviceFlowPollResult> {\r\n return this.deviceFlowHelper.pollDeviceFlowToken(this.config, deviceCode);\r\n }\r\n\r\n calculatePollDelay(baseInterval: number = 5, slowDownCount: number = 0): number {\r\n return this.deviceFlowHelper.calculatePollDelay(baseInterval, slowDownCount);\r\n }\r\n\r\n // API requests - delegated to ApiHelper\r\n protected createAuthHeaders(auth: ContentProviderAuthData | null | undefined): Record<string, string> | null {\r\n return this.apiHelper.createAuthHeaders(auth);\r\n }\r\n\r\n protected async apiRequest<T>(path: string, auth?: ContentProviderAuthData | null, method: \"GET\" | \"POST\" = \"GET\", body?: unknown): Promise<T | null> {\r\n return this.apiHelper.apiRequest<T>(this.config, this.id, path, auth, method, body);\r\n }\r\n\r\n // Content factories\r\n protected createFolder(id: string, title: string, path: string, image?: string, providerData?: Record<string, unknown>, isLeaf?: boolean): ContentFolder {\r\n return { type: \"folder\", id, title, path, image, isLeaf, providerData };\r\n }\r\n\r\n protected createFile(id: string, title: string, url: string, options?: { mediaType?: \"video\" | \"image\"; image?: string; muxPlaybackId?: string; providerData?: Record<string, unknown>; }): ContentFile {\r\n return { type: \"file\", id, title, url, mediaType: options?.mediaType ?? detectMediaType(url), image: options?.image, muxPlaybackId: options?.muxPlaybackId, providerData: options?.providerData };\r\n }\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFile, ProviderLogos, Plan, PlanPresentation, ProviderCapabilities, MediaLicenseResult, IProvider, AuthType } from \"../../interfaces\";\r\nimport { detectMediaType } from \"../../utils\";\r\nimport { parsePath } from \"../../pathUtils\";\r\nimport { ApiHelper } from \"../../helpers\";\r\n\r\n/**\r\n * APlay Provider\r\n *\r\n * Path structure (variable depth based on module products):\r\n * /modules -> list modules\r\n * /modules/{moduleId} -> list products OR libraries (depends on module)\r\n * /modules/{moduleId}/products/{productId} -> list libraries (if module has multiple products)\r\n * /modules/{moduleId}/products/{productId}/{libraryId} -> media files\r\n * /modules/{moduleId}/libraries/{libraryId} -> media files (if module has 0-1 products)\r\n */\r\nexport class APlayProvider implements IProvider {\r\n private readonly apiHelper = new ApiHelper();\r\n\r\n private async apiRequest<T>(path: string, auth?: ContentProviderAuthData | null): Promise<T | null> {\r\n return this.apiHelper.apiRequest<T>(this.config, this.id, path, auth);\r\n }\r\n readonly id = \"aplay\";\r\n readonly name = \"APlay\";\r\n\r\n readonly logos: ProviderLogos = { light: \"https://www.joinamazing.com/_assets/v11/3ba846c5afd7e73d27bc4d87b63d423e7ae2dc73.svg\", dark: \"https://www.joinamazing.com/_assets/v11/3ba846c5afd7e73d27bc4d87b63d423e7ae2dc73.svg\" };\r\n\r\n readonly config: ContentProviderConfig = { id: \"aplay\", name: \"APlay\", apiBase: \"https://api-prod.amazingkids.app\", oauthBase: \"https://api.joinamazing.com/prod/aims/oauth\", clientId: \"xFJFq7yNYuXXXMx0YBiQ\", scopes: [\"openid\", \"profile\", \"email\"], endpoints: { modules: \"/prod/curriculum/modules\", productLibraries: (productId: string) => `/prod/curriculum/modules/products/${productId}/libraries`, libraryMedia: (libraryId: string) => `/prod/creators/libraries/${libraryId}/media` } };\r\n\r\n readonly requiresAuth = true;\r\n readonly authTypes: AuthType[] = [\"oauth_pkce\"];\r\n readonly capabilities: ProviderCapabilities = { browse: true, presentations: true, playlist: false, instructions: false, expandedInstructions: false, mediaLicensing: true };\r\n\r\n async browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const { segments, depth } = parsePath(path);\r\n console.log(\"APlay browse called with path:\", path, \"depth:\", depth);\r\n\r\n if (depth === 0) {\r\n return [{\r\n type: \"folder\" as const,\r\n id: \"modules-root\",\r\n title: \"Modules\",\r\n path: \"/modules\"\r\n }];\r\n }\r\n\r\n const root = segments[0];\r\n if (root !== \"modules\") return [];\r\n\r\n // /modules -> list all modules\r\n if (depth === 1) {\r\n return this.getModules(auth);\r\n }\r\n\r\n // /modules/{moduleId} -> module content (products or libraries)\r\n if (depth === 2) {\r\n const moduleId = segments[1];\r\n return this.getModuleContent(moduleId, path!, auth);\r\n }\r\n\r\n // /modules/{moduleId}/products/{productId} -> libraries for product\r\n if (depth === 4 && segments[2] === \"products\") {\r\n const productId = segments[3];\r\n return this.getLibraryFolders(productId, path!, auth);\r\n }\r\n\r\n // /modules/{moduleId}/products/{productId}/{libraryId} -> media files\r\n if (depth === 5 && segments[2] === \"products\") {\r\n const libraryId = segments[4];\r\n return this.getMediaFiles(libraryId, auth);\r\n }\r\n\r\n // /modules/{moduleId}/libraries/{libraryId} -> media files (direct path)\r\n if (depth === 4 && segments[2] === \"libraries\") {\r\n const libraryId = segments[3];\r\n return this.getMediaFiles(libraryId, auth);\r\n }\r\n\r\n return [];\r\n }\r\n\r\n private async getModules(auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n console.log(`APlay fetching modules from: ${this.config.endpoints.modules}`);\r\n const response = await this.apiRequest<Record<string, unknown>>(this.config.endpoints.modules as string, auth);\r\n console.log(\"APlay modules response:\", response ? \"received\" : \"null\");\r\n if (!response) return [];\r\n\r\n const modules = (response.data || response.modules || response) as Record<string, unknown>[];\r\n console.log(\"APlay modules count:\", Array.isArray(modules) ? modules.length : \"not an array\");\r\n if (!Array.isArray(modules)) return [];\r\n\r\n const items: ContentItem[] = [];\r\n\r\n for (const m of modules) {\r\n if (m.isLocked) continue;\r\n\r\n const moduleId = (m.id || m.moduleId) as string;\r\n const moduleTitle = (m.title || m.name) as string;\r\n const moduleImage = m.image as string | undefined;\r\n\r\n const allProducts = (m.products as Record<string, unknown>[]) || [];\r\n const products = allProducts.filter((p) => !p.isHidden);\r\n\r\n if (products.length === 0) {\r\n // No products - go directly to libraries\r\n items.push({\r\n type: \"folder\" as const,\r\n id: moduleId,\r\n title: moduleTitle,\r\n image: moduleImage,\r\n path: `/modules/${moduleId}`,\r\n providerData: { productCount: 0 }\r\n });\r\n } else if (products.length === 1) {\r\n // Single product - skip products level, go to libraries\r\n const product = products[0];\r\n items.push({\r\n type: \"folder\" as const,\r\n id: (product.productId || product.id) as string,\r\n title: moduleTitle,\r\n image: (moduleImage || product.image) as string | undefined,\r\n path: `/modules/${moduleId}`,\r\n providerData: { productCount: 1, productId: product.productId || product.id }\r\n });\r\n } else {\r\n // Multiple products - show products level\r\n items.push({\r\n type: \"folder\" as const,\r\n id: moduleId,\r\n title: moduleTitle,\r\n image: moduleImage,\r\n path: `/modules/${moduleId}`,\r\n providerData: {\r\n productCount: products.length,\r\n products: products.map((p) => ({\r\n id: p.productId || p.id,\r\n title: p.title || p.name,\r\n image: p.image\r\n }))\r\n }\r\n });\r\n }\r\n }\r\n\r\n return items;\r\n }\r\n\r\n private async getModuleContent(moduleId: string, currentPath: string, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n // Get module info to determine product count\r\n const modules = await this.getModules(auth);\r\n const module = modules.find(m => m.id === moduleId || (m.providerData as Record<string, unknown>)?.productId === moduleId);\r\n\r\n if (!module) return [];\r\n\r\n const providerData = module.providerData as Record<string, unknown> | undefined;\r\n const productCount = providerData?.productCount as number || 0;\r\n\r\n if (productCount === 0 || productCount === 1) {\r\n // Direct to libraries\r\n const productId = (providerData?.productId || moduleId) as string;\r\n return this.getLibraryFolders(productId, `${currentPath}/libraries`, auth);\r\n } else {\r\n // Show products\r\n const products = (providerData?.products || []) as Record<string, unknown>[];\r\n return products.map((p) => ({\r\n type: \"folder\" as const,\r\n id: p.id as string,\r\n title: p.title as string,\r\n image: p.image as string | undefined,\r\n path: `${currentPath}/products/${p.id}`\r\n }));\r\n }\r\n }\r\n\r\n private async getLibraryFolders(productId: string, currentPath: string, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n console.log(\"APlay getLibraryFolders called with productId:\", productId);\r\n\r\n const pathFn = this.config.endpoints.productLibraries as (id: string) => string;\r\n const apiPath = pathFn(productId);\r\n console.log(`APlay fetching libraries from: ${apiPath}`);\r\n const response = await this.apiRequest<Record<string, unknown>>(apiPath, auth);\r\n console.log(\"APlay libraries response:\", response ? \"received\" : \"null\");\r\n if (!response) return [];\r\n\r\n const libraries = (response.data || response.libraries || response) as Record<string, unknown>[];\r\n console.log(\"APlay libraries count:\", Array.isArray(libraries) ? libraries.length : \"not an array\");\r\n if (!Array.isArray(libraries)) return [];\r\n\r\n return libraries.map((l) => ({\r\n type: \"folder\" as const,\r\n id: (l.libraryId || l.id) as string,\r\n title: (l.title || l.name) as string,\r\n image: l.image as string | undefined,\r\n isLeaf: true,\r\n path: `${currentPath}/${l.libraryId || l.id}`\r\n }));\r\n }\r\n\r\n private async getMediaFiles(libraryId: string, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n console.log(\"APlay getMediaFiles called with libraryId:\", libraryId);\r\n\r\n const pathFn = this.config.endpoints.libraryMedia as (id: string) => string;\r\n const apiPath = pathFn(libraryId);\r\n console.log(`APlay fetching media from: ${apiPath}`);\r\n const response = await this.apiRequest<Record<string, unknown>>(apiPath, auth);\r\n console.log(\"APlay media response:\", response ? \"received\" : \"null\");\r\n if (!response) return [];\r\n\r\n const mediaItems = (response.data || response.media || response) as Record<string, unknown>[];\r\n if (!Array.isArray(mediaItems)) return [];\r\n\r\n const files: ContentFile[] = [];\r\n\r\n for (const item of mediaItems) {\r\n const mediaType = (item.mediaType as string)?.toLowerCase();\r\n let url = \"\";\r\n let thumbnail = ((item.thumbnail as Record<string, unknown>)?.src || \"\") as string;\r\n let muxPlaybackId: string | undefined;\r\n\r\n const video = item.video as Record<string, unknown> | undefined;\r\n const image = item.image as Record<string, unknown> | undefined;\r\n\r\n if (mediaType === \"video\" && video) {\r\n muxPlaybackId = video.muxPlaybackId as string | undefined;\r\n if (muxPlaybackId) {\r\n url = `https://stream.mux.com/${muxPlaybackId}/capped-1080p.mp4`;\r\n } else {\r\n url = (video.muxStreamingUrl || video.url || \"\") as string;\r\n }\r\n thumbnail = thumbnail || (video.thumbnailUrl as string) || \"\";\r\n } else if (mediaType === \"image\" || image) {\r\n url = (image?.src || item.url || \"\") as string;\r\n thumbnail = thumbnail || (image?.src as string) || \"\";\r\n } else {\r\n url = (item.url || item.src || \"\") as string;\r\n thumbnail = thumbnail || (item.thumbnailUrl as string) || \"\";\r\n }\r\n\r\n if (!url) continue;\r\n\r\n const detectedMediaType = detectMediaType(url, mediaType);\r\n\r\n const fileId = (item.mediaId || item.id) as string;\r\n files.push({ type: \"file\", id: fileId, title: (item.title || item.name || item.fileName || \"\") as string, mediaType: detectedMediaType, image: thumbnail, url, muxPlaybackId, mediaId: fileId });\r\n }\r\n\r\n return files;\r\n }\r\n\r\n async getPresentations(path: string, auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 4 || segments[0] !== \"modules\") return null;\r\n\r\n let libraryId: string;\r\n const title = \"Library\";\r\n\r\n // /modules/{moduleId}/products/{productId}/{libraryId}\r\n if (segments[2] === \"products\" && depth === 5) {\r\n libraryId = segments[4];\r\n }\r\n // /modules/{moduleId}/libraries/{libraryId}\r\n else if (segments[2] === \"libraries\" && depth === 4) {\r\n libraryId = segments[3];\r\n } else {\r\n return null;\r\n }\r\n\r\n const files = await this.getMediaFiles(libraryId, auth) as ContentFile[];\r\n if (files.length === 0) return null;\r\n\r\n const presentations: PlanPresentation[] = files.map(f => ({ id: f.id, name: f.title, actionType: \"play\" as const, files: [f] }));\r\n return { id: libraryId, name: title, sections: [{ id: `section-${libraryId}`, name: title, presentations }], allFiles: files };\r\n }\r\n\r\n async checkMediaLicense(mediaId: string, auth?: ContentProviderAuthData | null): Promise<MediaLicenseResult | null> {\r\n if (!auth) return null;\r\n\r\n try {\r\n const url = `${this.config.apiBase}/prod/reports/media/license-check`;\r\n const response = await fetch(url, { method: \"POST\", headers: { \"Authorization\": `Bearer ${auth.access_token}`, \"Content-Type\": \"application/json\", \"Accept\": \"application/json\" }, body: JSON.stringify({ mediaIds: [mediaId] }) });\r\n\r\n if (!response.ok) return null;\r\n\r\n const data = await response.json();\r\n const licenseData = Array.isArray(data) ? data : data.data || [];\r\n const result = licenseData.find((item: Record<string, unknown>) => item.mediaId === mediaId);\r\n\r\n if (result?.isLicensed) {\r\n return { mediaId, status: \"valid\", message: \"Media is licensed for playback\", expiresAt: result.expiresAt as string | number | undefined };\r\n }\r\n return { mediaId, status: \"not_licensed\", message: \"Media is not licensed\" };\r\n } catch {\r\n return { mediaId, status: \"unknown\", message: \"Unable to verify license status\" };\r\n }\r\n }\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFile, ProviderLogos, Plan, PlanPresentation, ProviderCapabilities, IProvider, AuthType } from \"../../interfaces\";\r\nimport { detectMediaType } from \"../../utils\";\r\nimport { parsePath } from \"../../pathUtils\";\r\nimport { ApiHelper } from \"../../helpers\";\r\n\r\n/**\r\n * SignPresenter Provider\r\n *\r\n * Path structure:\r\n * /playlists -> list playlists\r\n * /playlists/{playlistId} -> list messages (files)\r\n */\r\nexport class SignPresenterProvider implements IProvider {\r\n private readonly apiHelper = new ApiHelper();\r\n\r\n private async apiRequest<T>(path: string, auth?: ContentProviderAuthData | null): Promise<T | null> {\r\n return this.apiHelper.apiRequest<T>(this.config, this.id, path, auth);\r\n }\r\n readonly id = \"signpresenter\";\r\n readonly name = \"SignPresenter\";\r\n\r\n readonly logos: ProviderLogos = { light: \"https://signpresenter.com/files/shared/images/logo.png\", dark: \"https://signpresenter.com/files/shared/images/logo.png\" };\r\n\r\n readonly config: ContentProviderConfig = { id: \"signpresenter\", name: \"SignPresenter\", apiBase: \"https://api.signpresenter.com\", oauthBase: \"https://api.signpresenter.com/oauth\", clientId: \"lessonsscreen-tv\", scopes: [\"openid\", \"profile\", \"content\"], supportsDeviceFlow: true, deviceAuthEndpoint: \"/device/authorize\", endpoints: { playlists: \"/content/playlists\", messages: (playlistId: string) => `/content/playlists/${playlistId}/messages` } };\r\n\r\n readonly requiresAuth = true;\r\n readonly authTypes: AuthType[] = [\"oauth_pkce\", \"device_flow\"];\r\n readonly capabilities: ProviderCapabilities = { browse: true, presentations: true, playlist: false, instructions: false, expandedInstructions: false, mediaLicensing: false };\r\n\r\n async browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth === 0) {\r\n return [{\r\n type: \"folder\" as const,\r\n id: \"playlists-root\",\r\n title: \"Playlists\",\r\n path: \"/playlists\"\r\n }];\r\n }\r\n\r\n const root = segments[0];\r\n if (root !== \"playlists\") return [];\r\n\r\n // /playlists -> list all playlists\r\n if (depth === 1) {\r\n return this.getPlaylists(auth);\r\n }\r\n\r\n // /playlists/{playlistId} -> list messages\r\n if (depth === 2) {\r\n const playlistId = segments[1];\r\n return this.getMessages(playlistId, auth);\r\n }\r\n\r\n return [];\r\n }\r\n\r\n private async getPlaylists(auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const apiPath = this.config.endpoints.playlists as string;\r\n const response = await this.apiRequest<unknown>(apiPath, auth);\r\n if (!response) return [];\r\n\r\n const playlists = Array.isArray(response)\r\n ? response\r\n : ((response as Record<string, unknown>).data || (response as Record<string, unknown>).playlists || []) as Record<string, unknown>[];\r\n\r\n if (!Array.isArray(playlists)) return [];\r\n\r\n return playlists.map((p) => ({\r\n type: \"folder\" as const,\r\n id: p.id as string,\r\n title: p.name as string,\r\n image: p.image as string | undefined,\r\n path: `/playlists/${p.id}`\r\n }));\r\n }\r\n\r\n private async getMessages(playlistId: string, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const pathFn = this.config.endpoints.messages as (id: string) => string;\r\n const response = await this.apiRequest<unknown>(pathFn(playlistId), auth);\r\n if (!response) return [];\r\n\r\n const messages = Array.isArray(response)\r\n ? response\r\n : ((response as Record<string, unknown>).data || (response as Record<string, unknown>).messages || []) as Record<string, unknown>[];\r\n\r\n if (!Array.isArray(messages)) return [];\r\n\r\n const files: ContentFile[] = [];\r\n\r\n for (const msg of messages) {\r\n if (!msg.url) continue;\r\n\r\n const url = msg.url as string;\r\n const seconds = msg.seconds as number | undefined;\r\n\r\n files.push({ type: \"file\", id: msg.id as string, title: msg.name as string, mediaType: detectMediaType(url, msg.mediaType as string | undefined), image: (msg.thumbnail || msg.image) as string | undefined, url, embedUrl: url, providerData: seconds !== undefined ? { seconds } : undefined });\r\n }\r\n\r\n return files;\r\n }\r\n\r\n async getPresentations(path: string, auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 2 || segments[0] !== \"playlists\") return null;\r\n\r\n const playlistId = segments[1];\r\n const files = await this.getMessages(playlistId, auth) as ContentFile[];\r\n if (files.length === 0) return null;\r\n\r\n // Get playlist info for title\r\n const playlists = await this.getPlaylists(auth);\r\n const playlist = playlists.find(p => p.id === playlistId);\r\n const title = playlist?.title || \"Playlist\";\r\n const image = (playlist as Record<string, unknown> | undefined)?.image as string | undefined;\r\n\r\n const presentations: PlanPresentation[] = files.map(f => ({ id: f.id, name: f.title, actionType: \"play\" as const, files: [f] }));\r\n return { id: playlistId, name: title as string, image, sections: [{ id: `section-${playlistId}`, name: title as string, presentations }], allFiles: files };\r\n }\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFile, ProviderLogos, Plan, PlanSection, PlanPresentation, FeedVenueInterface, Instructions, InstructionItem, VenueActionsResponseInterface, ProviderCapabilities, IProvider, AuthType } from \"../../interfaces\";\r\nimport { detectMediaType } from \"../../utils\";\r\nimport { parsePath, getSegment } from \"../../pathUtils\";\r\n\r\n/**\r\n * LessonsChurch Provider\r\n *\r\n * Path structure:\r\n * /lessons -> programs\r\n * /lessons/{programId} -> studies\r\n * /lessons/{programId}/{studyId} -> lessons\r\n * /lessons/{programId}/{studyId}/{lessonId} -> venues\r\n * /lessons/{programId}/{studyId}/{lessonId}/{venueId} -> playlist files\r\n *\r\n * /addons -> categories\r\n * /addons/{category} -> add-on files\r\n */\r\nexport class LessonsChurchProvider implements IProvider {\r\n readonly id = \"lessonschurch\";\r\n readonly name = \"Lessons.church\";\r\n\r\n readonly logos: ProviderLogos = { light: \"https://lessons.church/images/logo.png\", dark: \"https://lessons.church/images/logo-dark.png\" };\r\n\r\n readonly config: ContentProviderConfig = { id: \"lessonschurch\", name: \"Lessons.church\", apiBase: \"https://api.lessons.church\", oauthBase: \"\", clientId: \"\", scopes: [], endpoints: { programs: \"/programs/public\", studies: (programId: string) => `/studies/public/program/${programId}`, lessons: (studyId: string) => `/lessons/public/study/${studyId}`, venues: (lessonId: string) => `/venues/public/lesson/${lessonId}`, playlist: (venueId: string) => `/venues/playlist/${venueId}`, feed: (venueId: string) => `/venues/public/feed/${venueId}`, addOns: \"/addOns/public\", addOnDetail: (id: string) => `/addOns/public/${id}` } };\r\n\r\n readonly requiresAuth = false;\r\n readonly authTypes: AuthType[] = [\"none\"];\r\n readonly capabilities: ProviderCapabilities = { browse: true, presentations: true, playlist: true, instructions: true, expandedInstructions: true, mediaLicensing: false };\r\n\r\n async getPlaylist(path: string, _auth?: ContentProviderAuthData | null, resolution?: number): Promise<ContentFile[] | null> {\r\n const venueId = getSegment(path, 4); // /lessons/{0}/{1}/{2}/{3}/{4=venueId}\r\n if (!venueId) return null;\r\n\r\n let apiPath = `/venues/playlist/${venueId}`;\r\n if (resolution) apiPath += `?resolution=${resolution}`;\r\n\r\n const response = await this.apiRequest<Record<string, unknown>>(apiPath);\r\n if (!response) return null;\r\n\r\n const files: ContentFile[] = [];\r\n const messages = (response.messages || []) as Record<string, unknown>[];\r\n\r\n let fileIndex = 0;\r\n for (const msg of messages) {\r\n const msgFiles = (msg.files || []) as Record<string, unknown>[];\r\n for (let i = 0; i < msgFiles.length; i++) {\r\n const f = msgFiles[i];\r\n if (!f.url) continue;\r\n\r\n const url = f.url as string;\r\n const fileId = (f.id as string) || `playlist-${fileIndex++}`;\r\n\r\n files.push({ type: \"file\", id: fileId, title: (f.name || msg.name) as string, mediaType: detectMediaType(url, f.fileType as string | undefined), image: response.lessonImage as string | undefined, url, providerData: { seconds: f.seconds, loop: f.loop, loopVideo: f.loopVideo } });\r\n }\r\n }\r\n\r\n return files;\r\n }\r\n\r\n private async apiRequest<T>(path: string): Promise<T | null> {\r\n try {\r\n const url = `${this.config.apiBase}${path}`;\r\n const response = await fetch(url, { method: \"GET\", headers: { Accept: \"application/json\" } });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n async browse(path?: string | null, _auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const { segments, depth } = parsePath(path);\r\n console.log(\"[LessonsChurchProvider.browse] path:\", path, \"depth:\", depth, \"segments:\", segments);\r\n\r\n if (depth === 0) {\r\n return [\r\n { type: \"folder\" as const, id: \"lessons-root\", title: \"Lessons\", path: \"/lessons\" },\r\n { type: \"folder\" as const, id: \"addons-root\", title: \"Add-Ons\", path: \"/addons\" }\r\n ];\r\n }\r\n\r\n const root = segments[0];\r\n if (root === \"lessons\") return this.browseLessons(path!, segments);\r\n if (root === \"addons\") return this.browseAddOns(path!, segments);\r\n return [];\r\n }\r\n\r\n private async browseLessons(currentPath: string, segments: string[]): Promise<ContentItem[]> {\r\n const depth = segments.length;\r\n\r\n // /lessons -> programs\r\n if (depth === 1) return this.getPrograms();\r\n // /lessons/{programId} -> studies\r\n if (depth === 2) return this.getStudies(segments[1], currentPath);\r\n // /lessons/{programId}/{studyId} -> lessons\r\n if (depth === 3) return this.getLessons(segments[2], currentPath);\r\n // /lessons/{programId}/{studyId}/{lessonId} -> venues\r\n if (depth === 4) return this.getVenues(segments[3], currentPath);\r\n // /lessons/{programId}/{studyId}/{lessonId}/{venueId} -> playlist files\r\n if (depth === 5) return this.getPlaylistFiles(segments[4]);\r\n\r\n return [];\r\n }\r\n\r\n private async getPrograms(): Promise<ContentItem[]> {\r\n const apiPath = this.config.endpoints.programs as string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(apiPath);\r\n if (!response) return [];\r\n\r\n const programs = Array.isArray(response) ? response : [];\r\n return programs.map((p) => ({\r\n type: \"folder\" as const,\r\n id: p.id as string,\r\n title: p.name as string,\r\n image: p.image as string | undefined,\r\n path: `/lessons/${p.id}`\r\n }));\r\n }\r\n\r\n private async getStudies(programId: string, currentPath: string): Promise<ContentItem[]> {\r\n const pathFn = this.config.endpoints.studies as (id: string) => string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(pathFn(programId));\r\n if (!response) return [];\r\n\r\n const studies = Array.isArray(response) ? response : [];\r\n return studies.map((s) => ({\r\n type: \"folder\" as const,\r\n id: s.id as string,\r\n title: s.name as string,\r\n image: s.image as string | undefined,\r\n path: `${currentPath}/${s.id}`\r\n }));\r\n }\r\n\r\n private async getLessons(studyId: string, currentPath: string): Promise<ContentItem[]> {\r\n const pathFn = this.config.endpoints.lessons as (id: string) => string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(pathFn(studyId));\r\n if (!response) return [];\r\n\r\n const lessons = Array.isArray(response) ? response : [];\r\n return lessons.map((l) => ({\r\n type: \"folder\" as const,\r\n id: l.id as string,\r\n title: (l.name || l.title) as string,\r\n image: l.image as string | undefined,\r\n path: `${currentPath}/${l.id}`,\r\n providerData: { lessonImage: l.image } // Keep for display on venues\r\n }));\r\n }\r\n\r\n private async getVenues(lessonId: string, currentPath: string): Promise<ContentItem[]> {\r\n const pathFn = this.config.endpoints.venues as (id: string) => string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(pathFn(lessonId));\r\n if (!response) return [];\r\n\r\n // Fetch lesson details for image\r\n const lessonResponse = await this.apiRequest<Record<string, unknown>>(`/lessons/public/${lessonId}`);\r\n const lessonImage = lessonResponse?.image as string | undefined;\r\n\r\n const venues = Array.isArray(response) ? response : [];\r\n const result = venues.map((v) => ({\r\n type: \"folder\" as const,\r\n id: v.id as string,\r\n title: v.name as string,\r\n image: lessonImage,\r\n isLeaf: true,\r\n path: `${currentPath}/${v.id}`\r\n }));\r\n console.log(\"[LessonsChurchProvider.getVenues] returning:\", result.map(r => ({ id: r.id, title: r.title, isLeaf: r.isLeaf })));\r\n return result;\r\n }\r\n\r\n private async getPlaylistFiles(venueId: string): Promise<ContentItem[]> {\r\n const files = await this.getPlaylist(`/lessons/_/_/_/${venueId}`, null);\r\n return files || [];\r\n }\r\n\r\n private async browseAddOns(_currentPath: string, segments: string[]): Promise<ContentItem[]> {\r\n const depth = segments.length;\r\n\r\n // /addons -> categories\r\n if (depth === 1) return this.getAddOnCategories();\r\n // /addons/{category} -> add-on files\r\n if (depth === 2) return this.getAddOnsByCategory(segments[1]);\r\n\r\n return [];\r\n }\r\n\r\n private async getAddOnCategories(): Promise<ContentItem[]> {\r\n const apiPath = this.config.endpoints.addOns as string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(apiPath);\r\n if (!response) return [];\r\n\r\n const addOns = Array.isArray(response) ? response : [];\r\n const categories = Array.from(new Set(addOns.map((a) => a.category as string).filter(Boolean)));\r\n\r\n return categories.sort().map((category) => ({\r\n type: \"folder\" as const,\r\n id: `category-${category}`,\r\n title: category,\r\n path: `/addons/${encodeURIComponent(category)}`\r\n }));\r\n }\r\n\r\n private async getAddOnsByCategory(category: string): Promise<ContentItem[]> {\r\n const decodedCategory = decodeURIComponent(category);\r\n\r\n // Fetch add-ons fresh each time\r\n const apiPath = this.config.endpoints.addOns as string;\r\n const response = await this.apiRequest<Record<string, unknown>[]>(apiPath);\r\n if (!response) return [];\r\n\r\n const allAddOns = Array.isArray(response) ? response : [];\r\n const filtered = allAddOns.filter((a) => a.category === decodedCategory);\r\n\r\n const files: ContentFile[] = [];\r\n for (const addOn of filtered) {\r\n const file = await this.convertAddOnToFile(addOn);\r\n if (file) files.push(file);\r\n }\r\n return files;\r\n }\r\n\r\n private async convertAddOnToFile(addOn: Record<string, unknown>): Promise<ContentFile | null> {\r\n const pathFn = this.config.endpoints.addOnDetail as (id: string) => string;\r\n const apiPath = pathFn(addOn.id as string);\r\n const detail = await this.apiRequest<Record<string, unknown>>(apiPath);\r\n if (!detail) return null;\r\n\r\n let url = \"\";\r\n let mediaType: \"video\" | \"image\" = \"video\";\r\n let seconds = (addOn.seconds as number) || 10;\r\n\r\n const video = detail.video as Record<string, unknown> | undefined;\r\n const file = detail.file as Record<string, unknown> | undefined;\r\n\r\n if (video) {\r\n url = `${this.config.apiBase}/externalVideos/download/${video.id}`;\r\n seconds = (video.seconds as number) || seconds;\r\n } else if (file) {\r\n url = file.contentPath as string;\r\n const fileType = file.fileType as string | undefined;\r\n mediaType = fileType?.startsWith(\"video/\") ? \"video\" : \"image\";\r\n } else {\r\n return null;\r\n }\r\n\r\n return { type: \"file\", id: addOn.id as string, title: addOn.name as string, mediaType, image: addOn.image as string | undefined, url, embedUrl: `https://lessons.church/embed/addon/${addOn.id}`, providerData: { seconds, loopVideo: (video as Record<string, unknown> | undefined)?.loopVideo || false } };\r\n }\r\n\r\n async getPresentations(path: string, _auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const venueId = getSegment(path, 4); // /lessons/{0}/{1}/{2}/{3}/{4=venueId}\r\n if (!venueId) return null;\r\n\r\n const apiPath = `/venues/public/feed/${venueId}`;\r\n const venueData = await this.apiRequest<FeedVenueInterface>(apiPath);\r\n if (!venueData) return null;\r\n\r\n return this.convertVenueToPlan(venueData);\r\n }\r\n\r\n async getInstructions(path: string, _auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const venueId = getSegment(path, 4);\r\n if (!venueId) return null;\r\n\r\n const response = await this.apiRequest<{ venueName?: string; items?: Record<string, unknown>[] }>(`/venues/public/planItems/${venueId}`);\r\n if (!response) return null;\r\n\r\n const processItem = (item: Record<string, unknown>): InstructionItem => {\r\n const itemType = this.normalizeItemType(item.itemType as string | undefined);\r\n const relatedId = item.relatedId as string | undefined;\r\n return { id: item.id as string | undefined, itemType, relatedId, label: item.label as string | undefined, description: item.description as string | undefined, seconds: item.seconds as number | undefined, children: (item.children as Record<string, unknown>[] | undefined)?.map(processItem), embedUrl: this.getEmbedUrl(itemType, relatedId) };\r\n };\r\n return { venueName: response.venueName, items: (response.items || []).map(processItem) };\r\n }\r\n\r\n async getExpandedInstructions(path: string, _auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const venueId = getSegment(path, 4);\r\n if (!venueId) return null;\r\n\r\n const [planItemsResponse, actionsResponse] = await Promise.all([\r\n this.apiRequest<{ venueName?: string; items?: Record<string, unknown>[] }>(`/venues/public/planItems/${venueId}`),\r\n this.apiRequest<VenueActionsResponseInterface>(`/venues/public/actions/${venueId}`)\r\n ]);\r\n\r\n if (!planItemsResponse) return null;\r\n\r\n const sectionActionsMap = new Map<string, InstructionItem[]>();\r\n if (actionsResponse?.sections) {\r\n for (const section of actionsResponse.sections) {\r\n if (section.id && section.actions) {\r\n sectionActionsMap.set(section.id, section.actions.map(action => {\r\n const embedUrl = this.getEmbedUrl(\"action\", action.id);\r\n return { id: action.id, itemType: \"action\", relatedId: action.id, label: action.name, description: action.actionType, seconds: action.seconds, children: [{ id: action.id + \"-file\", itemType: \"file\", label: action.name, seconds: action.seconds, embedUrl }] };\r\n }));\r\n }\r\n }\r\n }\r\n\r\n const processItem = (item: Record<string, unknown>): InstructionItem => {\r\n const relatedId = item.relatedId as string | undefined;\r\n const itemType = this.normalizeItemType(item.itemType as string | undefined);\r\n const children = item.children as Record<string, unknown>[] | undefined;\r\n\r\n let processedChildren: InstructionItem[] | undefined;\r\n\r\n if (children) {\r\n processedChildren = children.map(child => {\r\n const childRelatedId = child.relatedId as string | undefined;\r\n const childItemType = this.normalizeItemType(child.itemType as string | undefined);\r\n if (childRelatedId && sectionActionsMap.has(childRelatedId)) {\r\n return { id: child.id as string | undefined, itemType: childItemType, relatedId: childRelatedId, label: child.label as string | undefined, description: child.description as string | undefined, seconds: child.seconds as number | undefined, children: sectionActionsMap.get(childRelatedId), embedUrl: this.getEmbedUrl(childItemType, childRelatedId) };\r\n }\r\n return processItem(child);\r\n });\r\n }\r\n\r\n return { id: item.id as string | undefined, itemType, relatedId, label: item.label as string | undefined, description: item.description as string | undefined, seconds: item.seconds as number | undefined, children: processedChildren, embedUrl: this.getEmbedUrl(itemType, relatedId) };\r\n };\r\n\r\n return { venueName: planItemsResponse.venueName, items: (planItemsResponse.items || []).map(processItem) };\r\n }\r\n\r\n private normalizeItemType(type?: string): string | undefined {\r\n if (type === \"lessonSection\") return \"section\";\r\n if (type === \"lessonAction\") return \"action\";\r\n if (type === \"lessonAddOn\") return \"addon\";\r\n return type;\r\n }\r\n\r\n private getEmbedUrl(itemType?: string, relatedId?: string): string | undefined {\r\n if (!relatedId) return undefined;\r\n\r\n const baseUrl = \"https://lessons.church\";\r\n switch (itemType) {\r\n case \"action\": return `${baseUrl}/embed/action/${relatedId}`;\r\n case \"addon\": return `${baseUrl}/embed/addon/${relatedId}`;\r\n case \"section\": return `${baseUrl}/embed/section/${relatedId}`;\r\n default: return undefined;\r\n }\r\n }\r\n\r\n private convertVenueToPlan(venue: FeedVenueInterface): Plan {\r\n const sections: PlanSection[] = [];\r\n const allFiles: ContentFile[] = [];\r\n\r\n for (const section of venue.sections || []) {\r\n const presentations: PlanPresentation[] = [];\r\n\r\n for (const action of section.actions || []) {\r\n const actionType = (action.actionType?.toLowerCase() || \"other\") as \"play\" | \"add-on\" | \"other\";\r\n if (actionType !== \"play\" && actionType !== \"add-on\") continue;\r\n\r\n const files: ContentFile[] = [];\r\n\r\n for (const file of action.files || []) {\r\n if (!file.url) continue;\r\n\r\n const embedUrl = action.id ? `https://lessons.church/embed/action/${action.id}` : undefined;\r\n\r\n const contentFile: ContentFile = { type: \"file\", id: file.id || \"\", title: file.name || \"\", mediaType: detectMediaType(file.url, file.fileType), image: venue.lessonImage, url: file.url, embedUrl, providerData: { seconds: file.seconds, streamUrl: file.streamUrl } };\r\n\r\n files.push(contentFile);\r\n allFiles.push(contentFile);\r\n }\r\n\r\n if (files.length > 0) {\r\n presentations.push({ id: action.id || \"\", name: action.content || section.name || \"Untitled\", actionType, files });\r\n }\r\n }\r\n\r\n if (presentations.length > 0) {\r\n sections.push({ id: section.id || \"\", name: section.name || \"Untitled Section\", presentations });\r\n }\r\n }\r\n\r\n return { id: venue.id || \"\", name: venue.lessonName || venue.name || \"Plan\", description: venue.lessonDescription, image: venue.lessonImage, sections, allFiles };\r\n }\r\n}\r\n","import { ContentProviderAuthData, ContentProviderConfig, DeviceAuthorizationResponse, DeviceFlowPollResult } from \"../../interfaces\";\r\n\r\nasync function generateCodeChallenge(verifier: string): Promise<string> {\r\n const encoder = new TextEncoder();\r\n const data = encoder.encode(verifier);\r\n const hashBuffer = await crypto.subtle.digest(\"SHA-256\", data);\r\n const hashArray = new Uint8Array(hashBuffer);\r\n\r\n let binary = \"\";\r\n for (let i = 0; i < hashArray.length; i++) {\r\n binary += String.fromCharCode(hashArray[i]);\r\n }\r\n const base64 = btoa(binary);\r\n return base64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\r\n}\r\n\r\nexport async function buildB1AuthUrl(config: ContentProviderConfig, appBase: string, redirectUri: string, codeVerifier: string, state?: string): Promise<{ url: string; challengeMethod: string }> {\r\n const codeChallenge = await generateCodeChallenge(codeVerifier);\r\n const oauthParams = new URLSearchParams({\r\n response_type: \"code\",\r\n client_id: config.clientId,\r\n redirect_uri: redirectUri,\r\n scope: config.scopes.join(\" \"),\r\n code_challenge: codeChallenge,\r\n code_challenge_method: \"S256\",\r\n state: state || \"\"\r\n });\r\n const url = `${appBase}/oauth?${oauthParams.toString()}`;\r\n return { url, challengeMethod: \"S256\" };\r\n}\r\n\r\nexport async function exchangeCodeForTokensWithPKCE(config: ContentProviderConfig, code: string, redirectUri: string, codeVerifier: string): Promise<ContentProviderAuthData | null> {\r\n try {\r\n const params = { grant_type: \"authorization_code\", code, client_id: config.clientId, code_verifier: codeVerifier, redirect_uri: redirectUri };\r\n\r\n const tokenUrl = `${config.oauthBase}/token`;\r\n console.log(`B1Church PKCE token exchange request to: ${tokenUrl}`);\r\n console.log(` - client_id: ${config.clientId}`);\r\n console.log(` - redirect_uri: ${redirectUri}`);\r\n console.log(` - code: ${code.substring(0, 10)}...`);\r\n\r\n const response = await fetch(tokenUrl, { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify(params) });\r\n\r\n console.log(`B1Church token response status: ${response.status}`);\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(`B1Church token exchange failed: ${response.status} - ${errorText}`);\r\n return null;\r\n }\r\n\r\n const data = await response.json();\r\n console.log(`B1Church token exchange successful, got access_token: ${!!data.access_token}`);\r\n return { access_token: data.access_token, refresh_token: data.refresh_token, token_type: data.token_type || \"Bearer\", created_at: Math.floor(Date.now() / 1000), expires_in: data.expires_in, scope: data.scope || config.scopes.join(\" \") };\r\n } catch (error) {\r\n console.error(\"B1Church token exchange error:\", error);\r\n return null;\r\n }\r\n}\r\n\r\nexport async function exchangeCodeForTokensWithSecret(config: ContentProviderConfig, code: string, redirectUri: string, clientSecret: string): Promise<ContentProviderAuthData | null> {\r\n try {\r\n const params = { grant_type: \"authorization_code\", code, client_id: config.clientId, client_secret: clientSecret, redirect_uri: redirectUri };\r\n\r\n const tokenUrl = `${config.oauthBase}/token`;\r\n console.log(`B1Church token exchange request to: ${tokenUrl}`);\r\n console.log(` - client_id: ${config.clientId}`);\r\n console.log(` - redirect_uri: ${redirectUri}`);\r\n console.log(` - code: ${code.substring(0, 10)}...`);\r\n\r\n const response = await fetch(tokenUrl, { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify(params) });\r\n\r\n console.log(`B1Church token response status: ${response.status}`);\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(`B1Church token exchange failed: ${response.status} - ${errorText}`);\r\n return null;\r\n }\r\n\r\n const data = await response.json();\r\n console.log(`B1Church token exchange successful, got access_token: ${!!data.access_token}`);\r\n return { access_token: data.access_token, refresh_token: data.refresh_token, token_type: data.token_type || \"Bearer\", created_at: Math.floor(Date.now() / 1000), expires_in: data.expires_in, scope: data.scope || config.scopes.join(\" \") };\r\n } catch (error) {\r\n console.error(\"B1Church token exchange error:\", error);\r\n return null;\r\n }\r\n}\r\n\r\nexport async function refreshTokenWithSecret(config: ContentProviderConfig, auth: ContentProviderAuthData, clientSecret: string): Promise<ContentProviderAuthData | null> {\r\n if (!auth.refresh_token) return null;\r\n\r\n try {\r\n const params = { grant_type: \"refresh_token\", refresh_token: auth.refresh_token, client_id: config.clientId, client_secret: clientSecret };\r\n const response = await fetch(`${config.oauthBase}/token`, { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify(params) });\r\n if (!response.ok) return null;\r\n\r\n const data = await response.json();\r\n return { access_token: data.access_token, refresh_token: data.refresh_token || auth.refresh_token, token_type: data.token_type || \"Bearer\", created_at: Math.floor(Date.now() / 1000), expires_in: data.expires_in, scope: data.scope || auth.scope };\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport async function initiateDeviceFlow(config: ContentProviderConfig): Promise<DeviceAuthorizationResponse | null> {\r\n if (!config.supportsDeviceFlow || !config.deviceAuthEndpoint) return null;\r\n\r\n try {\r\n const response = await fetch(`${config.oauthBase}${config.deviceAuthEndpoint}`, { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify({ client_id: config.clientId, scope: config.scopes.join(\" \") }) });\r\n\r\n if (!response.ok) {\r\n const errorText = await response.text();\r\n console.error(`B1Church device authorize failed: ${response.status} - ${errorText}`);\r\n return null;\r\n }\r\n\r\n return await response.json();\r\n } catch (error) {\r\n console.error(\"B1Church device flow initiation error:\", error);\r\n return null;\r\n }\r\n}\r\n\r\nexport async function pollDeviceFlowToken(config: ContentProviderConfig, deviceCode: string): Promise<DeviceFlowPollResult> {\r\n try {\r\n const response = await fetch(`${config.oauthBase}/token`, { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify({ grant_type: \"urn:ietf:params:oauth:grant-type:device_code\", device_code: deviceCode, client_id: config.clientId }) });\r\n\r\n if (response.ok) {\r\n const data = await response.json();\r\n return { access_token: data.access_token, refresh_token: data.refresh_token, token_type: data.token_type || \"Bearer\", created_at: Math.floor(Date.now() / 1000), expires_in: data.expires_in, scope: data.scope || config.scopes.join(\" \") };\r\n }\r\n\r\n const errorData = await response.json();\r\n switch (errorData.error) {\r\n case \"authorization_pending\": return { error: \"authorization_pending\" };\r\n case \"slow_down\": return { error: \"slow_down\", shouldSlowDown: true };\r\n case \"expired_token\": return null;\r\n case \"access_denied\": return null;\r\n default: return null;\r\n }\r\n } catch {\r\n return { error: \"network_error\" };\r\n }\r\n}\r\n","import { ContentProviderAuthData, FeedVenueInterface, ContentItem, Plan, ContentFile, Instructions } from \"../../interfaces\";\r\nimport { ArrangementKeyResponse, B1Ministry, B1PlanType, B1Plan } from \"./types\";\r\n\r\nexport const API_BASE = \"https://api.churchapps.org\";\r\n\r\nexport type ProxyMethod = \"browse\" | \"getPresentations\" | \"getPlaylist\" | \"getInstructions\" | \"getExpandedInstructions\";\r\n\r\nexport type ProxyResult<M extends ProxyMethod> =\r\n M extends \"browse\" ? ContentItem[] :\r\n M extends \"getPresentations\" ? Plan :\r\n M extends \"getPlaylist\" ? ContentFile[] :\r\n M extends \"getInstructions\" | \"getExpandedInstructions\" ? Instructions :\r\n never;\r\nexport const LESSONS_API_BASE = \"https://api.lessons.church\";\r\nexport const CONTENT_API_BASE = \"https://contentapi.churchapps.org\";\r\n\r\nasync function authFetch<T>(url: string, auth: ContentProviderAuthData | null | undefined): Promise<T | null> {\r\n try {\r\n const headers: Record<string, string> = { Accept: \"application/json\" };\r\n if (auth) {\r\n headers[\"Authorization\"] = `Bearer ${auth.access_token}`;\r\n }\r\n const response = await fetch(url, { method: \"GET\", headers });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport async function fetchMinistries(auth: ContentProviderAuthData | null | undefined): Promise<B1Ministry[]> {\r\n const result = await authFetch<B1Ministry[]>(`${API_BASE}/membership/groups/tag/ministry`, auth);\r\n return result || [];\r\n}\r\n\r\nexport async function fetchPlanTypes(ministryId: string, auth: ContentProviderAuthData | null | undefined): Promise<B1PlanType[]> {\r\n const result = await authFetch<B1PlanType[]>(`${API_BASE}/doing/planTypes/ministryId/${ministryId}`, auth);\r\n return result || [];\r\n}\r\n\r\nexport async function fetchPlans(planTypeId: string, auth: ContentProviderAuthData | null | undefined): Promise<B1Plan[]> {\r\n const result = await authFetch<B1Plan[]>(`${API_BASE}/doing/plans/types/${planTypeId}`, auth);\r\n return result || [];\r\n}\r\n\r\nexport async function fetchVenueFeed(venueId: string): Promise<FeedVenueInterface | null> {\r\n try {\r\n const url = `${LESSONS_API_BASE}/venues/public/feed/${venueId}`;\r\n const response = await fetch(url, { method: \"GET\", headers: { Accept: \"application/json\" } });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport async function fetchArrangementKey(churchId: string, arrangementId: string): Promise<ArrangementKeyResponse | null> {\r\n try {\r\n const url = `${CONTENT_API_BASE}/arrangementKeys/presenter/${churchId}/${arrangementId}`;\r\n const response = await fetch(url, { method: \"GET\", headers: { Accept: \"application/json\" } });\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport async function fetchFromProviderProxy<M extends ProxyMethod>(\r\n method: M,\r\n ministryId: string,\r\n providerId: string,\r\n path: string,\r\n authData?: ContentProviderAuthData | null,\r\n resolution?: number\r\n): Promise<ProxyResult<M> | null> {\r\n try {\r\n const url = `${API_BASE}/doing/providerProxy/${method}`;\r\n const headers: Record<string, string> = {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\"\r\n };\r\n if (authData) {\r\n headers[\"Authorization\"] = `Bearer ${authData.access_token}`;\r\n }\r\n\r\n const body: Record<string, unknown> = { ministryId, providerId, path };\r\n if (resolution !== undefined) body.resolution = resolution;\r\n\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n headers,\r\n body: JSON.stringify(body)\r\n });\r\n\r\n if (!response.ok) return null;\r\n return await response.json();\r\n } catch {\r\n return null;\r\n }\r\n}\r\n","import { ContentItem, ContentFile, FeedVenueInterface, PlanPresentation, InstructionItem } from \"../../interfaces\";\r\nimport { detectMediaType } from \"../../utils\";\r\nimport { B1Ministry, B1PlanType, B1Plan, B1PlanItem, ArrangementKeyResponse } from \"./types\";\r\nimport { fetchArrangementKey } from \"./api\";\r\n\r\nexport function ministryToFolder(ministry: B1Ministry): ContentItem {\r\n return { type: \"folder\" as const, id: ministry.id, title: ministry.name, path: \"\", image: ministry.photoUrl, providerData: { level: \"ministry\", ministryId: ministry.id, churchId: ministry.churchId } };\r\n}\r\n\r\nexport function planTypeToFolder(planType: B1PlanType, ministryId: string): ContentItem {\r\n return { type: \"folder\" as const, id: planType.id, title: planType.name, path: \"\", providerData: { level: \"planType\", planTypeId: planType.id, ministryId: ministryId, churchId: planType.churchId } };\r\n}\r\n\r\nexport function planToFolder(plan: B1Plan): ContentItem {\r\n return { type: \"folder\" as const, id: plan.id, title: plan.name, path: \"\", isLeaf: true, providerData: { level: \"plan\", planId: plan.id, planTypeId: plan.planTypeId, ministryId: plan.ministryId, churchId: plan.churchId, serviceDate: plan.serviceDate, contentType: plan.contentType, contentId: plan.contentId } };\r\n}\r\n\r\nexport function sectionToFolder(section: B1PlanItem): ContentItem {\r\n return { type: \"folder\" as const, id: section.id, title: section.label || \"Section\", path: \"\", providerData: { level: \"section\", itemType: \"section\", description: section.description, seconds: section.seconds } };\r\n}\r\n\r\nexport function planItemToContentItem(item: B1PlanItem, venueId: string | undefined): ContentItem | null {\r\n const itemType = item.itemType;\r\n\r\n if (itemType === \"arrangementKey\" && item.churchId && item.relatedId) {\r\n return { type: \"file\" as const, id: item.id, title: item.label || \"Song\", mediaType: \"image\" as const, url: \"\", providerData: { itemType: \"arrangementKey\", churchId: item.churchId, relatedId: item.relatedId, seconds: item.seconds } };\r\n }\r\n\r\n if ((itemType === \"lessonSection\" || itemType === \"section\" || itemType === \"lessonAction\" || itemType === \"action\" || itemType === \"lessonAddOn\" || itemType === \"addon\") && item.relatedId) {\r\n return { type: \"file\" as const, id: item.id, title: item.label || \"Lesson Content\", mediaType: \"video\" as const, url: \"\", providerData: { itemType, relatedId: item.relatedId, venueId, seconds: item.seconds } };\r\n }\r\n\r\n if (itemType === \"item\" || itemType === \"header\") {\r\n return { type: \"file\" as const, id: item.id, title: item.label || \"\", mediaType: \"image\" as const, url: \"\", providerData: { itemType, description: item.description, seconds: item.seconds } };\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport async function planItemToPresentation(item: B1PlanItem, venueFeed: FeedVenueInterface | null): Promise<PlanPresentation | null> {\r\n const itemType = item.itemType;\r\n\r\n if (itemType === \"arrangementKey\" && item.churchId && item.relatedId) {\r\n const songData = await fetchArrangementKey(item.churchId, item.relatedId);\r\n if (songData) return arrangementToPresentation(item, songData);\r\n }\r\n\r\n if ((itemType === \"lessonSection\" || itemType === \"section\" || itemType === \"lessonAction\" || itemType === \"action\" || itemType === \"lessonAddOn\" || itemType === \"addon\") && venueFeed) {\r\n const files = getFilesFromVenueFeed(venueFeed, itemType, item.relatedId);\r\n if (files.length > 0) return { id: item.id, name: item.label || \"Lesson Content\", actionType: (itemType === \"lessonAddOn\" || itemType === \"addon\") ? \"add-on\" : \"play\", files };\r\n }\r\n\r\n if (itemType === \"item\" || itemType === \"header\") {\r\n return { id: item.id, name: item.label || \"\", actionType: \"other\", files: [], providerData: { itemType, description: item.description, seconds: item.seconds } } as PlanPresentation;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction arrangementToPresentation(item: B1PlanItem, songData: ArrangementKeyResponse): PlanPresentation {\r\n const title = songData.songDetail?.title || item.label || \"Song\";\r\n return { id: item.id, name: title, actionType: \"other\", files: [], providerData: { itemType: \"song\", title, artist: songData.songDetail?.artist, lyrics: songData.arrangement?.lyrics, keySignature: songData.arrangementKey?.keySignature, arrangementName: songData.arrangement?.name, seconds: songData.songDetail?.seconds || item.seconds } } as PlanPresentation;\r\n}\r\n\r\nexport function getFilesFromVenueFeed(venueFeed: FeedVenueInterface, itemType: string, relatedId?: string): ContentFile[] {\r\n const files: ContentFile[] = [];\r\n\r\n if (!relatedId) return files;\r\n\r\n if (itemType === \"lessonSection\" || itemType === \"section\") {\r\n for (const section of venueFeed.sections || []) {\r\n if (section.id === relatedId) {\r\n for (const action of section.actions || []) {\r\n const actionType = action.actionType?.toLowerCase();\r\n if (actionType === \"play\" || actionType === \"add-on\") {\r\n files.push(...convertFeedFiles(action.files || [], venueFeed.lessonImage));\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n } else if (itemType === \"lessonAction\" || itemType === \"action\") {\r\n for (const section of venueFeed.sections || []) {\r\n for (const action of section.actions || []) {\r\n if (action.id === relatedId) {\r\n files.push(...convertFeedFiles(action.files || [], venueFeed.lessonImage));\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return files;\r\n}\r\n\r\nexport function convertFeedFiles(feedFiles: Array<{ id?: string; name?: string; url?: string; streamUrl?: string; seconds?: number; fileType?: string }>, thumbnailImage?: string): ContentFile[] {\r\n return feedFiles.filter(f => f.url).map(f => ({ type: \"file\" as const, id: f.id || \"\", title: f.name || \"\", mediaType: detectMediaType(f.url || \"\", f.fileType), image: thumbnailImage, url: f.url || \"\", providerData: { seconds: f.seconds, streamUrl: f.streamUrl } }));\r\n}\r\n\r\nexport function planItemToInstruction(item: B1PlanItem): InstructionItem {\r\n // Convert B1 API itemTypes to standardized short names\r\n let itemType: string | undefined = item.itemType;\r\n switch (item.itemType) {\r\n case \"lessonSection\": itemType = \"section\"; break;\r\n case \"lessonAction\": itemType = \"action\"; break;\r\n case \"lessonAddOn\": itemType = \"addon\"; break;\r\n }\r\n\r\n return { id: item.id, itemType, relatedId: item.relatedId, label: item.label, description: item.description, seconds: item.seconds, children: item.children?.map(planItemToInstruction) };\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFile, ProviderLogos, Plan, PlanSection, PlanPresentation, Instructions, ProviderCapabilities, DeviceAuthorizationResponse, DeviceFlowPollResult, IProvider, AuthType } from \"../../interfaces\";\r\nimport { parsePath } from \"../../pathUtils\";\r\nimport { ApiHelper } from \"../../helpers\";\r\nimport { B1PlanItem } from \"./types\";\r\nimport * as auth from \"./auth\";\r\nimport { fetchMinistries, fetchPlanTypes, fetchPlans, fetchVenueFeed, fetchFromProviderProxy, API_BASE } from \"./api\";\r\nimport { ministryToFolder, planTypeToFolder, planToFolder, planItemToPresentation, planItemToInstruction, getFilesFromVenueFeed } from \"./converters\";\r\n\r\nconst INTERNAL_PROVIDERS = [\"b1church\", \"lessonschurch\"];\r\n\r\nfunction isExternalProviderItem(item: B1PlanItem): boolean {\r\n if (!item.providerId || INTERNAL_PROVIDERS.includes(item.providerId)) return false;\r\n const itemType = item.itemType || \"\";\r\n return itemType.startsWith(\"provider\");\r\n}\r\n\r\nexport class B1ChurchProvider implements IProvider {\r\n private readonly apiHelper = new ApiHelper();\r\n\r\n private async apiRequest<T>(path: string, authData?: ContentProviderAuthData | null): Promise<T | null> {\r\n return this.apiHelper.apiRequest<T>(this.config, this.id, path, authData);\r\n }\r\n readonly id = \"b1church\";\r\n readonly name = \"B1.Church\";\r\n\r\n readonly logos: ProviderLogos = { light: \"https://b1.church/b1-church-logo.png\", dark: \"https://b1.church/b1-church-logo.png\" };\r\n\r\n readonly config: ContentProviderConfig = { id: \"b1church\", name: \"B1.Church\", apiBase: `${API_BASE}/doing`, oauthBase: `${API_BASE}/membership/oauth`, clientId: \"nsowldn58dk\", scopes: [\"plans\"], supportsDeviceFlow: true, deviceAuthEndpoint: \"/device/authorize\", endpoints: { planItems: (churchId: string, planId: string) => `/planItems/presenter/${churchId}/${planId}` } };\r\n\r\n private appBase = \"https://admin.b1.church\";\r\n\r\n readonly requiresAuth = true;\r\n readonly authTypes: AuthType[] = [\"oauth_pkce\", \"device_flow\"];\r\n readonly capabilities: ProviderCapabilities = { browse: true, presentations: true, playlist: true, instructions: true, expandedInstructions: true, mediaLicensing: false };\r\n\r\n async buildAuthUrl(codeVerifier: string, redirectUri: string, state?: string): Promise<{ url: string; challengeMethod: string }> {\r\n return auth.buildB1AuthUrl(this.config, this.appBase, redirectUri, codeVerifier, state);\r\n }\r\n\r\n async exchangeCodeForTokensWithPKCE(code: string, redirectUri: string, codeVerifier: string): Promise<ContentProviderAuthData | null> {\r\n return auth.exchangeCodeForTokensWithPKCE(this.config, code, redirectUri, codeVerifier);\r\n }\r\n\r\n async exchangeCodeForTokensWithSecret(code: string, redirectUri: string, clientSecret: string): Promise<ContentProviderAuthData | null> {\r\n return auth.exchangeCodeForTokensWithSecret(this.config, code, redirectUri, clientSecret);\r\n }\r\n\r\n async refreshTokenWithSecret(authData: ContentProviderAuthData, clientSecret: string): Promise<ContentProviderAuthData | null> {\r\n return auth.refreshTokenWithSecret(this.config, authData, clientSecret);\r\n }\r\n\r\n async initiateDeviceFlow(): Promise<DeviceAuthorizationResponse | null> {\r\n return auth.initiateDeviceFlow(this.config);\r\n }\r\n\r\n async pollDeviceFlowToken(deviceCode: string): Promise<DeviceFlowPollResult> {\r\n return auth.pollDeviceFlowToken(this.config, deviceCode);\r\n }\r\n\r\n async browse(path?: string | null, authData?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth === 0) {\r\n return [{\r\n type: \"folder\" as const,\r\n id: \"ministries-root\",\r\n title: \"Ministries\",\r\n path: \"/ministries\"\r\n }];\r\n }\r\n\r\n const root = segments[0];\r\n if (root !== \"ministries\") return [];\r\n\r\n // /ministries -> list all ministries\r\n if (depth === 1) {\r\n const ministries = await fetchMinistries(authData);\r\n return ministries.map(m => {\r\n const folder = ministryToFolder(m);\r\n const ministryId = (folder.providerData as Record<string, unknown>)?.ministryId || folder.id;\r\n return { ...folder, path: `/ministries/${ministryId}` };\r\n });\r\n }\r\n\r\n // /ministries/{ministryId} -> list plan types\r\n if (depth === 2) {\r\n const ministryId = segments[1];\r\n const planTypes = await fetchPlanTypes(ministryId, authData);\r\n return planTypes.map(pt => {\r\n const folder = planTypeToFolder(pt, ministryId);\r\n const planTypeId = (folder.providerData as Record<string, unknown>)?.planTypeId || folder.id;\r\n return { ...folder, path: `/ministries/${ministryId}/${planTypeId}` };\r\n });\r\n }\r\n\r\n // /ministries/{ministryId}/{planTypeId} -> list plans\r\n if (depth === 3) {\r\n const ministryId = segments[1];\r\n const planTypeId = segments[2];\r\n const plans = await fetchPlans(planTypeId, authData);\r\n return plans.map(p => {\r\n const folder = planToFolder(p);\r\n const planId = (folder.providerData as Record<string, unknown>)?.planId || folder.id;\r\n return {\r\n ...folder,\r\n isLeaf: true,\r\n path: `/ministries/${ministryId}/${planTypeId}/${planId}`\r\n };\r\n });\r\n }\r\n\r\n return [];\r\n }\r\n\r\n async getPresentations(path: string, authData?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 4 || segments[0] !== \"ministries\") return null;\r\n\r\n const ministryId = segments[1];\r\n const planId = segments[3];\r\n const planTypeId = segments[2];\r\n\r\n // Need to fetch plan details to get churchId and contentId\r\n const plans = await fetchPlans(planTypeId, authData);\r\n const planFolder = plans.find(p => {\r\n const folder = planToFolder(p);\r\n return (folder.providerData as Record<string, unknown>)?.planId === planId || folder.id === planId;\r\n });\r\n if (!planFolder) return null;\r\n\r\n const folder = planToFolder(planFolder);\r\n const providerData = folder.providerData as Record<string, unknown>;\r\n const churchId = providerData?.churchId as string;\r\n const venueId = providerData?.contentId as string | undefined;\r\n const planTitle = folder.title || \"Plan\";\r\n\r\n if (!churchId) return null;\r\n\r\n const pathFn = this.config.endpoints.planItems as (churchId: string, planId: string) => string;\r\n const planItems = await this.apiRequest<B1PlanItem[]>(pathFn(churchId, planId), authData);\r\n if (!planItems || !Array.isArray(planItems)) return null;\r\n\r\n const venueFeed = venueId ? await fetchVenueFeed(venueId) : null;\r\n\r\n const sections: PlanSection[] = [];\r\n const allFiles: ContentFile[] = [];\r\n\r\n for (const sectionItem of planItems) {\r\n const presentations: PlanPresentation[] = [];\r\n\r\n for (const child of sectionItem.children || []) {\r\n // Handle external provider items via proxy\r\n if (isExternalProviderItem(child) && child.providerId && child.providerPath) {\r\n const externalPlan = await fetchFromProviderProxy(\r\n \"getPresentations\",\r\n ministryId,\r\n child.providerId,\r\n child.providerPath,\r\n authData\r\n );\r\n if (externalPlan) {\r\n // Add all presentations from the external plan\r\n for (const section of externalPlan.sections) {\r\n presentations.push(...section.presentations);\r\n }\r\n allFiles.push(...externalPlan.allFiles);\r\n }\r\n } else {\r\n // Handle internal items as before\r\n const presentation = await planItemToPresentation(child, venueFeed);\r\n if (presentation) {\r\n presentations.push(presentation);\r\n allFiles.push(...presentation.files);\r\n }\r\n }\r\n }\r\n\r\n if (presentations.length > 0 || sectionItem.label) {\r\n sections.push({ id: sectionItem.id, name: sectionItem.label || \"Section\", presentations });\r\n }\r\n }\r\n\r\n return { id: planId, name: planTitle, sections, allFiles };\r\n }\r\n\r\n async getInstructions(path: string, authData?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 4 || segments[0] !== \"ministries\") return null;\r\n\r\n const ministryId = segments[1];\r\n const planId = segments[3];\r\n const planTypeId = segments[2];\r\n\r\n // Need to fetch plan details to get churchId\r\n const plans = await fetchPlans(planTypeId, authData);\r\n const planFolder = plans.find(p => {\r\n const folder = planToFolder(p);\r\n return (folder.providerData as Record<string, unknown>)?.planId === planId || folder.id === planId;\r\n });\r\n if (!planFolder) return null;\r\n\r\n const folder = planToFolder(planFolder);\r\n const providerData = folder.providerData as Record<string, unknown>;\r\n const churchId = providerData?.churchId as string;\r\n const planTitle = folder.title || \"Plan\";\r\n\r\n if (!churchId) return null;\r\n\r\n const pathFn = this.config.endpoints.planItems as (churchId: string, planId: string) => string;\r\n const planItems = await this.apiRequest<B1PlanItem[]>(pathFn(churchId, planId), authData);\r\n if (!planItems || !Array.isArray(planItems)) return null;\r\n\r\n // Process items, handling external providers\r\n const processedItems = await this.processInstructionItems(planItems, ministryId, authData);\r\n return { venueName: planTitle, items: processedItems };\r\n }\r\n\r\n async getExpandedInstructions(path: string, authData?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n // For B1Church, expanded instructions are the same as regular instructions\r\n // External provider items will be expanded via proxy\r\n return this.getInstructions(path, authData);\r\n }\r\n\r\n private async processInstructionItems(\r\n items: B1PlanItem[],\r\n ministryId: string,\r\n authData?: ContentProviderAuthData | null\r\n ): Promise<import(\"../../interfaces\").InstructionItem[]> {\r\n const result: import(\"../../interfaces\").InstructionItem[] = [];\r\n\r\n for (const item of items) {\r\n if (isExternalProviderItem(item) && item.providerId && item.providerPath) {\r\n // Fetch expanded instructions from external provider\r\n const externalInstructions = await fetchFromProviderProxy(\r\n \"getExpandedInstructions\",\r\n ministryId,\r\n item.providerId,\r\n item.providerPath,\r\n authData\r\n );\r\n if (externalInstructions) {\r\n // Add the external instruction items\r\n result.push(...externalInstructions.items);\r\n }\r\n } else {\r\n // Convert internal item\r\n const instructionItem = planItemToInstruction(item);\r\n // Recursively process children if they exist\r\n if (item.children && item.children.length > 0) {\r\n instructionItem.children = await this.processInstructionItems(item.children, ministryId, authData);\r\n }\r\n result.push(instructionItem);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n async getPlaylist(path: string, authData?: ContentProviderAuthData | null, resolution?: number): Promise<ContentFile[] | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 4 || segments[0] !== \"ministries\") return [];\r\n\r\n const ministryId = segments[1];\r\n const planId = segments[3];\r\n const planTypeId = segments[2];\r\n\r\n // Need to fetch plan details to get churchId and contentId\r\n const plans = await fetchPlans(planTypeId, authData);\r\n const planFolder = plans.find(p => {\r\n const folder = planToFolder(p);\r\n return (folder.providerData as Record<string, unknown>)?.planId === planId || folder.id === planId;\r\n });\r\n if (!planFolder) return [];\r\n\r\n const folder = planToFolder(planFolder);\r\n const providerData = folder.providerData as Record<string, unknown>;\r\n const churchId = providerData?.churchId as string;\r\n const venueId = providerData?.contentId as string | undefined;\r\n\r\n if (!churchId) return [];\r\n\r\n const pathFn = this.config.endpoints.planItems as (churchId: string, planId: string) => string;\r\n const planItems = await this.apiRequest<B1PlanItem[]>(pathFn(churchId, planId), authData);\r\n if (!planItems || !Array.isArray(planItems)) return [];\r\n\r\n const venueFeed = venueId ? await fetchVenueFeed(venueId) : null;\r\n const files: ContentFile[] = [];\r\n\r\n for (const sectionItem of planItems) {\r\n for (const child of sectionItem.children || []) {\r\n // Handle external provider items via proxy\r\n if (isExternalProviderItem(child) && child.providerId && child.providerPath) {\r\n const externalFiles = await fetchFromProviderProxy(\r\n \"getPlaylist\",\r\n ministryId,\r\n child.providerId,\r\n child.providerPath,\r\n authData,\r\n resolution\r\n );\r\n if (externalFiles) {\r\n files.push(...externalFiles);\r\n }\r\n } else {\r\n // Handle internal items as before\r\n const itemType = child.itemType;\r\n if ((itemType === \"lessonSection\" || itemType === \"section\" ||\r\n itemType === \"lessonAction\" || itemType === \"action\" ||\r\n itemType === \"lessonAddOn\" || itemType === \"addon\") && venueFeed) {\r\n const itemFiles = getFilesFromVenueFeed(venueFeed, itemType, child.relatedId);\r\n files.push(...itemFiles);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return files;\r\n }\r\n}\r\n","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFile, ProviderLogos, Plan, PlanSection, PlanPresentation, ProviderCapabilities, IProvider, AuthType } from \"../../interfaces\";\r\nimport { detectMediaType } from \"../../utils\";\r\nimport { parsePath } from \"../../pathUtils\";\r\nimport { ApiHelper } from \"../../helpers\";\r\nimport { PCOServiceType, PCOPlan, PCOPlanItem, PCOSong, PCOArrangement, PCOSection, PCOAttachment } from \"./PlanningCenterInterfaces\";\r\n\r\n/**\r\n * PlanningCenter Provider\r\n *\r\n * Path structure:\r\n * /serviceTypes -> list service types\r\n * /serviceTypes/{serviceTypeId} -> list plans\r\n * /serviceTypes/{serviceTypeId}/{planId} -> plan items (leaf)\r\n */\r\nexport class PlanningCenterProvider implements IProvider {\r\n private readonly apiHelper = new ApiHelper();\r\n\r\n private async apiRequest<T>(path: string, auth?: ContentProviderAuthData | null): Promise<T | null> {\r\n return this.apiHelper.apiRequest<T>(this.config, this.id, path, auth);\r\n }\r\n\r\n readonly id = \"planningcenter\";\r\n readonly name = \"Planning Center\";\r\n\r\n readonly logos: ProviderLogos = { light: \"https://www.planningcenter.com/icons/icon-512x512.png\", dark: \"https://www.planningcenter.com/icons/icon-512x512.png\" };\r\n\r\n readonly config: ContentProviderConfig = { id: \"planningcenter\", name: \"Planning Center\", apiBase: \"https://api.planningcenteronline.com\", oauthBase: \"https://api.planningcenteronline.com/oauth\", clientId: \"\", scopes: [\"services\"], endpoints: { serviceTypes: \"/services/v2/service_types\", plans: (serviceTypeId: string) => `/services/v2/service_types/${serviceTypeId}/plans`, planItems: (serviceTypeId: string, planId: string) => `/services/v2/service_types/${serviceTypeId}/plans/${planId}/items`, song: (itemId: string) => `/services/v2/songs/${itemId}`, arrangement: (songId: string, arrangementId: string) => `/services/v2/songs/${songId}/arrangements/${arrangementId}`, arrangementSections: (songId: string, arrangementId: string) => `/services/v2/songs/${songId}/arrangements/${arrangementId}/sections`, media: (mediaId: string) => `/services/v2/media/${mediaId}`, mediaAttachments: (mediaId: string) => `/services/v2/media/${mediaId}/attachments` } };\r\n\r\n private readonly ONE_WEEK_MS = 604800000;\r\n\r\n readonly requiresAuth = true;\r\n readonly authTypes: AuthType[] = [\"oauth_pkce\"];\r\n readonly capabilities: ProviderCapabilities = { browse: true, presentations: true, playlist: false, instructions: false, expandedInstructions: false, mediaLicensing: false };\r\n\r\n async browse(path?: string | null, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth === 0) {\r\n return [{\r\n type: \"folder\" as const,\r\n id: \"serviceTypes-root\",\r\n title: \"Service Types\",\r\n path: \"/serviceTypes\"\r\n }];\r\n }\r\n\r\n const root = segments[0];\r\n if (root !== \"serviceTypes\") return [];\r\n\r\n // /serviceTypes -> list all service types\r\n if (depth === 1) {\r\n return this.getServiceTypes(auth);\r\n }\r\n\r\n // /serviceTypes/{serviceTypeId} -> list plans\r\n if (depth === 2) {\r\n const serviceTypeId = segments[1];\r\n return this.getPlans(serviceTypeId, path!, auth);\r\n }\r\n\r\n // /serviceTypes/{serviceTypeId}/{planId} -> plan items\r\n if (depth === 3) {\r\n const serviceTypeId = segments[1];\r\n const planId = segments[2];\r\n return this.getPlanItems(serviceTypeId, planId, auth);\r\n }\r\n\r\n return [];\r\n }\r\n\r\n private async getServiceTypes(auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const response = await this.apiRequest<{ data: PCOServiceType[] }>(\r\n this.config.endpoints.serviceTypes as string,\r\n auth\r\n );\r\n\r\n if (!response?.data) return [];\r\n\r\n return response.data.map((serviceType) => ({\r\n type: \"folder\" as const,\r\n id: serviceType.id,\r\n title: serviceType.attributes.name,\r\n path: `/serviceTypes/${serviceType.id}`\r\n }));\r\n }\r\n\r\n private async getPlans(serviceTypeId: string, currentPath: string, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const pathFn = this.config.endpoints.plans as (id: string) => string;\r\n const response = await this.apiRequest<{ data: PCOPlan[] }>(\r\n `${pathFn(serviceTypeId)}?filter=future&order=sort_date`,\r\n auth\r\n );\r\n\r\n if (!response?.data) return [];\r\n\r\n const now = Date.now();\r\n const filteredPlans = response.data.filter((plan) => {\r\n if (plan.attributes.items_count === 0) return false;\r\n const planDate = new Date(plan.attributes.sort_date).getTime();\r\n return planDate < now + this.ONE_WEEK_MS;\r\n });\r\n\r\n return filteredPlans.map((plan) => ({\r\n type: \"folder\" as const,\r\n id: plan.id,\r\n title: plan.attributes.title || this.formatDate(plan.attributes.sort_date),\r\n isLeaf: true,\r\n path: `${currentPath}/${plan.id}`,\r\n providerData: { sortDate: plan.attributes.sort_date }\r\n }));\r\n }\r\n\r\n private async getPlanItems(serviceTypeId: string, planId: string, auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const pathFn = this.config.endpoints.planItems as (stId: string, pId: string) => string;\r\n const response = await this.apiRequest<{ data: PCOPlanItem[] }>(\r\n `${pathFn(serviceTypeId, planId)}?per_page=100`,\r\n auth\r\n );\r\n\r\n if (!response?.data) return [];\r\n\r\n return response.data.map((item) => ({ type: \"file\" as const, id: item.id, title: item.attributes.title || \"\", mediaType: \"image\" as const, url: \"\", providerData: { itemType: item.attributes.item_type, description: item.attributes.description, length: item.attributes.length, songId: item.relationships?.song?.data?.id, arrangementId: item.relationships?.arrangement?.data?.id } }));\r\n }\r\n\r\n async getPresentations(path: string, auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 3 || segments[0] !== \"serviceTypes\") return null;\r\n\r\n const serviceTypeId = segments[1];\r\n const planId = segments[2];\r\n\r\n const pathFn = this.config.endpoints.planItems as (stId: string, pId: string) => string;\r\n const response = await this.apiRequest<{ data: PCOPlanItem[] }>(\r\n `${pathFn(serviceTypeId, planId)}?per_page=100`,\r\n auth\r\n );\r\n\r\n if (!response?.data) return null;\r\n\r\n // Get plan title\r\n const plans = await this.getPlans(serviceTypeId, `/serviceTypes/${serviceTypeId}`, auth);\r\n const plan = plans.find(p => p.id === planId);\r\n const planTitle = plan?.title || \"Plan\";\r\n\r\n const sections: PlanSection[] = [];\r\n const allFiles: ContentFile[] = [];\r\n let currentSection: PlanSection | null = null;\r\n\r\n for (const item of response.data) {\r\n const itemType = item.attributes.item_type;\r\n\r\n if (itemType === \"header\") {\r\n if (currentSection && currentSection.presentations.length > 0) sections.push(currentSection);\r\n currentSection = { id: item.id, name: item.attributes.title || \"Section\", presentations: [] };\r\n continue;\r\n }\r\n\r\n if (!currentSection) {\r\n currentSection = { id: `default-${planId}`, name: \"Service\", presentations: [] };\r\n }\r\n\r\n const presentation = await this.convertToPresentation(item, auth);\r\n if (presentation) {\r\n currentSection.presentations.push(presentation);\r\n allFiles.push(...presentation.files);\r\n }\r\n }\r\n\r\n if (currentSection && currentSection.presentations.length > 0) {\r\n sections.push(currentSection);\r\n }\r\n\r\n return { id: planId, name: planTitle as string, sections, allFiles };\r\n }\r\n\r\n private async convertToPresentation(item: PCOPlanItem, auth?: ContentProviderAuthData | null): Promise<PlanPresentation | null> {\r\n const itemType = item.attributes.item_type;\r\n\r\n if (itemType === \"song\") {\r\n return this.convertSongToPresentation(item, auth);\r\n }\r\n\r\n if (itemType === \"media\") {\r\n return this.convertMediaToPresentation(item, auth);\r\n }\r\n\r\n if (itemType === \"item\") {\r\n return { id: item.id, name: item.attributes.title || \"\", actionType: \"other\", files: [], providerData: { itemType: \"item\", description: item.attributes.description, length: item.attributes.length } } as PlanPresentation;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private async convertSongToPresentation(item: PCOPlanItem, auth?: ContentProviderAuthData | null): Promise<PlanPresentation | null> {\r\n const songId = item.relationships?.song?.data?.id;\r\n const arrangementId = item.relationships?.arrangement?.data?.id;\r\n\r\n if (!songId) {\r\n return { id: item.id, name: item.attributes.title || \"Song\", actionType: \"other\", files: [], providerData: { itemType: \"song\" } } as PlanPresentation;\r\n }\r\n\r\n const songFn = this.config.endpoints.song as (id: string) => string;\r\n const songResponse = await this.apiRequest<{ data: PCOSong }>(songFn(songId), auth);\r\n\r\n let arrangement: PCOArrangement | null = null;\r\n let sections: PCOSection[] = [];\r\n\r\n if (arrangementId) {\r\n const arrangementFn = this.config.endpoints.arrangement as (sId: string, aId: string) => string;\r\n const arrangementResponse = await this.apiRequest<{ data: PCOArrangement }>(\r\n arrangementFn(songId, arrangementId),\r\n auth\r\n );\r\n arrangement = arrangementResponse?.data || null;\r\n\r\n const sectionsFn = this.config.endpoints.arrangementSections as (sId: string, aId: string) => string;\r\n const sectionsResponse = await this.apiRequest<{ data: { attributes: { sections: PCOSection[] } }[] }>(\r\n sectionsFn(songId, arrangementId),\r\n auth\r\n );\r\n sections = sectionsResponse?.data?.[0]?.attributes?.sections || [];\r\n }\r\n\r\n const song = songResponse?.data;\r\n const title = song?.attributes?.title || item.attributes.title || \"Song\";\r\n\r\n return { id: item.id, name: title, actionType: \"other\", files: [], providerData: { itemType: \"song\", title, author: song?.attributes?.author, copyright: song?.attributes?.copyright, ccliNumber: song?.attributes?.ccli_number, arrangementName: arrangement?.attributes?.name, keySignature: arrangement?.attributes?.chord_chart_key, bpm: arrangement?.attributes?.bpm, sequence: arrangement?.attributes?.sequence, sections: sections.map(s => ({ label: s.label, lyrics: s.lyrics })), length: item.attributes.length } } as PlanPresentation;\r\n }\r\n\r\n private async convertMediaToPresentation(item: PCOPlanItem, auth?: ContentProviderAuthData | null): Promise<PlanPresentation | null> {\r\n const files: ContentFile[] = [];\r\n\r\n const mediaFn = this.config.endpoints.media as (id: string) => string;\r\n const mediaAttachmentsFn = this.config.endpoints.mediaAttachments as (id: string) => string;\r\n\r\n const mediaResponse = await this.apiRequest<{ data: { id: string; attributes: { title?: string; length?: number } } }>(\r\n mediaFn(item.id),\r\n auth\r\n );\r\n\r\n if (mediaResponse?.data) {\r\n const attachmentsResponse = await this.apiRequest<{ data: PCOAttachment[] }>(\r\n mediaAttachmentsFn(mediaResponse.data.id),\r\n auth\r\n );\r\n\r\n for (const attachment of attachmentsResponse?.data || []) {\r\n const url = attachment.attributes.url;\r\n if (!url) continue;\r\n\r\n const contentType = attachment.attributes.content_type;\r\n const explicitType = contentType?.startsWith(\"video/\") ? \"video\" : undefined;\r\n\r\n files.push({ type: \"file\", id: attachment.id, title: attachment.attributes.filename, mediaType: detectMediaType(url, explicitType), url });\r\n }\r\n }\r\n\r\n return { id: item.id, name: item.attributes.title || \"Media\", actionType: \"play\", files, providerData: { itemType: \"media\", length: item.attributes.length } } as PlanPresentation;\r\n }\r\n\r\n private formatDate(dateString: string): string {\r\n const date = new Date(dateString);\r\n return date.toISOString().slice(0, 10);\r\n }\r\n}\r\n","{\n \"collections\": [\n {\n \"name\": \"Old Testament Overviews\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/old-testament-overviews/tr:q-65,w-300/ot-overviews_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-6Lj53xd8\",\n \"title\": \"Tanak Old Testament\",\n \"filename\": \"tanak-old-testament\",\n \"muxPlaybackId\": \"6Lj53xd8H9NzgbpoKdSezAy7LTGmYEttA5h1xBHcgQw\",\n \"videoUrl\": \"https://stream.mux.com/6Lj53xd8H9NzgbpoKdSezAy7LTGmYEttA5h1xBHcgQw/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/TaNaKOTovw_FNL.jpg\"\n },\n {\n \"id\": \"bp-wqRoO23V\",\n \"title\": \"Genesis 1 11\",\n \"filename\": \"genesis-1-11\",\n \"muxPlaybackId\": \"wqRoO23V1icFCGIVSz13nEKs00760200UnXO9ueJl02iLgE\",\n \"videoUrl\": \"https://stream.mux.com/wqRoO23V1icFCGIVSz13nEKs00760200UnXO9ueJl02iLgE/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/01-02%20Genesis_FNL.jpg\"\n },\n {\n \"id\": \"bp-z15mG00w\",\n \"title\": \"Genesis 12 50\",\n \"filename\": \"genesis-12-50\",\n \"muxPlaybackId\": \"z15mG00wREQicM00azwBVwDGIvH7rXBZ1fjl9q6tTQGM00\",\n \"videoUrl\": \"https://stream.mux.com/z15mG00wREQicM00azwBVwDGIvH7rXBZ1fjl9q6tTQGM00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/01-02%20Genesis_FNL.jpg\"\n },\n {\n \"id\": \"bp-LNqUHmhG\",\n \"title\": \"Exodus 1 18\",\n \"filename\": \"exodus-1-18\",\n \"muxPlaybackId\": \"LNqUHmhGOmCmqjQTZcIphfwS3eVJK00wieQ6aQMaGVxw\",\n \"videoUrl\": \"https://stream.mux.com/LNqUHmhGOmCmqjQTZcIphfwS3eVJK00wieQ6aQMaGVxw/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/03-04_Exodus_art_FNL.jpg\"\n },\n {\n \"id\": \"bp-HklRATIf\",\n \"title\": \"Exodus 19 40\",\n \"filename\": \"exodus-19-40\",\n \"muxPlaybackId\": \"HklRATIfa01ZdmDywyhA81r5q00XXNqU1HbwjUxM01mo01U\",\n \"videoUrl\": \"https://stream.mux.com/HklRATIfa01ZdmDywyhA81r5q00XXNqU1HbwjUxM01mo01U/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/03-04_Exodus_art_FNL.jpg\"\n },\n {\n \"id\": \"bp-7TNQ5NOp\",\n \"title\": \"Leviticus\",\n \"filename\": \"leviticus\",\n \"muxPlaybackId\": \"7TNQ5NOpg00rXMM3qJ6kJRGPS93daQEIp00w61Zt68Wns\",\n \"videoUrl\": \"https://stream.mux.com/7TNQ5NOpg00rXMM3qJ6kJRGPS93daQEIp00w61Zt68Wns/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/05-Leviticus-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-n16pUwPU\",\n \"title\": \"Numbers\",\n \"filename\": \"numbers\",\n \"muxPlaybackId\": \"n16pUwPUNbwUikVezsGVWrS8JE7NbyYHX8gbb01f901IA\",\n \"videoUrl\": \"https://stream.mux.com/n16pUwPUNbwUikVezsGVWrS8JE7NbyYHX8gbb01f901IA/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/06-Numbers-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-EHvrj2Mv\",\n \"title\": \"Deuteronomy\",\n \"filename\": \"deuteronomy\",\n \"muxPlaybackId\": \"EHvrj2Mv01jx38OtNfd01fAnsaRn1dGSDDSs74TPA14jY\",\n \"videoUrl\": \"https://stream.mux.com/EHvrj2Mv01jx38OtNfd01fAnsaRn1dGSDDSs74TPA14jY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/07-Deuteronomy-FNL.jpg\"\n },\n {\n \"id\": \"bp-HujTkYPH\",\n \"title\": \"Joshua\",\n \"filename\": \"joshua\",\n \"muxPlaybackId\": \"HujTkYPHfobXrlyuGOU6Yh1VHUZo4xhXORgPH5SFd9g\",\n \"videoUrl\": \"https://stream.mux.com/HujTkYPHfobXrlyuGOU6Yh1VHUZo4xhXORgPH5SFd9g/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/08-Joshua-FNL.jpg\"\n },\n {\n \"id\": \"bp-Otbyel01\",\n \"title\": \"Judges\",\n \"filename\": \"judges\",\n \"muxPlaybackId\": \"Otbyel01cL7r8DeqXfQnl202QrZnqliftejHSB00wKAfXE\",\n \"videoUrl\": \"https://stream.mux.com/Otbyel01cL7r8DeqXfQnl202QrZnqliftejHSB00wKAfXE/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/09-Judges_FNL.jpg\"\n },\n {\n \"id\": \"bp-iqZx3WUm\",\n \"title\": \"Ruth\",\n \"filename\": \"ruth\",\n \"muxPlaybackId\": \"iqZx3WUmJn9b01DVAv8TEFmmCOkww01SLsQAinnLdTPSo\",\n \"videoUrl\": \"https://stream.mux.com/iqZx3WUmJn9b01DVAv8TEFmmCOkww01SLsQAinnLdTPSo/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/10%20Ruth%20FNL.jpg\"\n },\n {\n \"id\": \"bp-Zm6vrOXs\",\n \"title\": \"1 Samuel\",\n \"filename\": \"1-samuel\",\n \"muxPlaybackId\": \"Zm6vrOXsGg7deyrc00nCM4iF02BUFKii004ZtCcCjkSFY00\",\n \"videoUrl\": \"https://stream.mux.com/Zm6vrOXsGg7deyrc00nCM4iF02BUFKii004ZtCcCjkSFY00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/11-12-Samuel-FNL.jpg\"\n },\n {\n \"id\": \"bp-T1AiFIWA\",\n \"title\": \"2 Samuel\",\n \"filename\": \"2-samuel\",\n \"muxPlaybackId\": \"T1AiFIWA7i8CaCt7ogx3XOxVarCvMtz1lwh8xGMFH01A\",\n \"videoUrl\": \"https://stream.mux.com/T1AiFIWA7i8CaCt7ogx3XOxVarCvMtz1lwh8xGMFH01A/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/11-12-Samuel-FNL.jpg\"\n },\n {\n \"id\": \"bp-Blf01ojE\",\n \"title\": \"1 And 2 Kings\",\n \"filename\": \"1-and-2-kings\",\n \"muxPlaybackId\": \"Blf01ojENAUfAtaGs3RLvNVuxmiv14i00vMTaQEAP00SkI\",\n \"videoUrl\": \"https://stream.mux.com/Blf01ojENAUfAtaGs3RLvNVuxmiv14i00vMTaQEAP00SkI/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/13-14-Kings-FNL.jpg\"\n },\n {\n \"id\": \"bp-K5mL016L\",\n \"title\": \"Ezra Nehemiah\",\n \"filename\": \"ezra-nehemiah\",\n \"muxPlaybackId\": \"K5mL016L7dWCYRjILrMYImIFbd8TgWRjrFFZ73Pfhd9E\",\n \"videoUrl\": \"https://stream.mux.com/K5mL016L7dWCYRjILrMYImIFbd8TgWRjrFFZ73Pfhd9E/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/15-Ezra-Nehemiah-FNL.jpg\"\n },\n {\n \"id\": \"bp-LfMTBfZz\",\n \"title\": \"Esther\",\n \"filename\": \"esther\",\n \"muxPlaybackId\": \"LfMTBfZzMmcCZFiRPCuDWc5gKFARKURCjqOpTkxufsg\",\n \"videoUrl\": \"https://stream.mux.com/LfMTBfZzMmcCZFiRPCuDWc5gKFARKURCjqOpTkxufsg/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/16-Esther-FNL.jpg\"\n },\n {\n \"id\": \"bp-V7uvmqQX\",\n \"title\": \"Job\",\n \"filename\": \"job\",\n \"muxPlaybackId\": \"V7uvmqQX9JJmMlibPrFQL4MXQnMFTlIOyrHPoGV4Eds\",\n \"videoUrl\": \"https://stream.mux.com/V7uvmqQX9JJmMlibPrFQL4MXQnMFTlIOyrHPoGV4Eds/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/17-Job-FNL.jpg\"\n },\n {\n \"id\": \"bp-WL00639k\",\n \"title\": \"Psalms\",\n \"filename\": \"psalms\",\n \"muxPlaybackId\": \"WL00639k024I00n8nVdrpd6GyyscWpuji02f1co4pph8vu00\",\n \"videoUrl\": \"https://stream.mux.com/WL00639k024I00n8nVdrpd6GyyscWpuji02f1co4pph8vu00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/18-Psalms-FNL.jpg\"\n },\n {\n \"id\": \"bp-00FFIKKv\",\n \"title\": \"Proverbs\",\n \"filename\": \"proverbs\",\n \"muxPlaybackId\": \"00FFIKKvk8ijn02jkZCaRdVenh4MNYlg42Mb37qSLc6YQ\",\n \"videoUrl\": \"https://stream.mux.com/00FFIKKvk8ijn02jkZCaRdVenh4MNYlg42Mb37qSLc6YQ/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/19-Proverbs-FNL.jpg\"\n },\n {\n \"id\": \"bp-1IKsgT01\",\n \"title\": \"Ecclesiastes\",\n \"filename\": \"ecclesiastes\",\n \"muxPlaybackId\": \"1IKsgT01kgxw5kA4QunirAXk01hKMU02n1AX1J2YVbrQmA\",\n \"videoUrl\": \"https://stream.mux.com/1IKsgT01kgxw5kA4QunirAXk01hKMU02n1AX1J2YVbrQmA/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/20_Ecclesiastes.jpg\"\n },\n {\n \"id\": \"bp-fwB6nQFG\",\n \"title\": \"Song Of Songs\",\n \"filename\": \"song-of-songs\",\n \"muxPlaybackId\": \"fwB6nQFG3YWwUU01fZ3SV572jYz1TcL102v75RuIJ00IHQ\",\n \"videoUrl\": \"https://stream.mux.com/fwB6nQFG3YWwUU01fZ3SV572jYz1TcL102v75RuIJ00IHQ/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/21-Song-of-Songs-FNL.jpg\"\n },\n {\n \"id\": \"bp-8eEAqV5u\",\n \"title\": \"Isaiah 1 39\",\n \"filename\": \"isaiah-1-39\",\n \"muxPlaybackId\": \"8eEAqV5uDN8HC00Ma4x4X1Qh91eqLY4ws00BAZ02cdFQ100\",\n \"videoUrl\": \"https://stream.mux.com/8eEAqV5uDN8HC00Ma4x4X1Qh91eqLY4ws00BAZ02cdFQ100/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/22-23-Isaiah-FNL.jpg\"\n },\n {\n \"id\": \"bp-4eHLEEp0\",\n \"title\": \"Isaiah 40 66\",\n \"filename\": \"isaiah-40-66\",\n \"muxPlaybackId\": \"4eHLEEp01WP2ZRZ502NXjBOZZP6BkrH5vEZgqvKIcV00IM\",\n \"videoUrl\": \"https://stream.mux.com/4eHLEEp01WP2ZRZ502NXjBOZZP6BkrH5vEZgqvKIcV00IM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/22-23-Isaiah-FNL.jpg\"\n },\n {\n \"id\": \"bp-jz7SoAfl\",\n \"title\": \"Jeremiah\",\n \"filename\": \"jeremiah\",\n \"muxPlaybackId\": \"jz7SoAfl01jEdU3nojIh9FSgR5wxxYbjK3T6BhJgwTMU\",\n \"videoUrl\": \"https://stream.mux.com/jz7SoAfl01jEdU3nojIh9FSgR5wxxYbjK3T6BhJgwTMU/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/24_Jeremiah_hq.jpg\"\n },\n {\n \"id\": \"bp-23QyuBJV\",\n \"title\": \"Lamentations\",\n \"filename\": \"lamentations\",\n \"muxPlaybackId\": \"23QyuBJVJca17RnoITUJdLUEzwuISerAfOZiHEEyGD4\",\n \"videoUrl\": \"https://stream.mux.com/23QyuBJVJca17RnoITUJdLUEzwuISerAfOZiHEEyGD4/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/25-Lamentations-FNL.jpg\"\n },\n {\n \"id\": \"bp-S5xIHejl\",\n \"title\": \"Ezekiel 1 33\",\n \"filename\": \"ezekiel-1-33\",\n \"muxPlaybackId\": \"S5xIHejldSKMcnY3eyqlrozVjoZAhsIIdIxvHO701uWY\",\n \"videoUrl\": \"https://stream.mux.com/S5xIHejldSKMcnY3eyqlrozVjoZAhsIIdIxvHO701uWY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/26-27-Ezekiel-FNL.jpg\"\n },\n {\n \"id\": \"bp-Js945Dhi\",\n \"title\": \"Ezekiel 34 48\",\n \"filename\": \"ezekiel-34-48\",\n \"muxPlaybackId\": \"Js945DhitoDwD2kF9VVBc69FWr02ZRPL4V8zSnBVUe34\",\n \"videoUrl\": \"https://stream.mux.com/Js945DhitoDwD2kF9VVBc69FWr02ZRPL4V8zSnBVUe34/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/26-27-Ezekiel-FNL.jpg\"\n },\n {\n \"id\": \"bp-O00snPn0\",\n \"title\": \"Daniel\",\n \"filename\": \"daniel\",\n \"muxPlaybackId\": \"O00snPn01lnnfWV01p019xE9NNUni6wD5wO8b1KwZNScJ5s\",\n \"videoUrl\": \"https://stream.mux.com/O00snPn01lnnfWV01p019xE9NNUni6wD5wO8b1KwZNScJ5s/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/28-Daniel-FNL.jpg\"\n },\n {\n \"id\": \"bp-F00pcpKl\",\n \"title\": \"Hosea\",\n \"filename\": \"hosea\",\n \"muxPlaybackId\": \"F00pcpKlLEtFAwunZDoTSZKc01oPlRNz7YgCSNrLwidVQ\",\n \"videoUrl\": \"https://stream.mux.com/F00pcpKlLEtFAwunZDoTSZKc01oPlRNz7YgCSNrLwidVQ/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/29-Hosea_FNL.jpg\"\n },\n {\n \"id\": \"bp-cnErnF3I\",\n \"title\": \"Joel\",\n \"filename\": \"joel\",\n \"muxPlaybackId\": \"cnErnF3I4ZBrO8hX54U55HC5Qbx7d01rfpPXYxEHi00lE\",\n \"videoUrl\": \"https://stream.mux.com/cnErnF3I4ZBrO8hX54U55HC5Qbx7d01rfpPXYxEHi00lE/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/30-Joel-FNL.jpg\"\n },\n {\n \"id\": \"bp-MntqpD8n\",\n \"title\": \"Amos\",\n \"filename\": \"amos\",\n \"muxPlaybackId\": \"MntqpD8nPSJPa9ggfjOoMcth2PoZzbcezAJNCqLSWKs\",\n \"videoUrl\": \"https://stream.mux.com/MntqpD8nPSJPa9ggfjOoMcth2PoZzbcezAJNCqLSWKs/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/31-Amos-FNL.jpg\"\n },\n {\n \"id\": \"bp-e54eYhAN\",\n \"title\": \"Obadiah\",\n \"filename\": \"obadiah\",\n \"muxPlaybackId\": \"e54eYhANW2he2lipAqw027I02Ag5LLh7lCMIfQbGBgdTQ\",\n \"videoUrl\": \"https://stream.mux.com/e54eYhANW2he2lipAqw027I02Ag5LLh7lCMIfQbGBgdTQ/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/32-Obadiah-FNL.jpg\"\n },\n {\n \"id\": \"bp-72VJz01n\",\n \"title\": \"Jonah\",\n \"filename\": \"jonah\",\n \"muxPlaybackId\": \"72VJz01n9FdX01Mq02GYfH8FWrCfwsTQ1rjZbFuXNdtAoM\",\n \"videoUrl\": \"https://stream.mux.com/72VJz01n9FdX01Mq02GYfH8FWrCfwsTQ1rjZbFuXNdtAoM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/33-Jonah-FNL.jpg\"\n },\n {\n \"id\": \"bp-sQ4TgNlm\",\n \"title\": \"Micah\",\n \"filename\": \"micah\",\n \"muxPlaybackId\": \"sQ4TgNlm4nGKVrWvY00reKgjlqUM5f9S2BWIlUwv3hXM\",\n \"videoUrl\": \"https://stream.mux.com/sQ4TgNlm4nGKVrWvY00reKgjlqUM5f9S2BWIlUwv3hXM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/34-Micah-FNL.jpg\"\n },\n {\n \"id\": \"bp-wbjRIFZB\",\n \"title\": \"Nahum\",\n \"filename\": \"nahum\",\n \"muxPlaybackId\": \"wbjRIFZBq58kWa42z01019dpc6LMdnCjsoKLLRMgwTNHM\",\n \"videoUrl\": \"https://stream.mux.com/wbjRIFZBq58kWa42z01019dpc6LMdnCjsoKLLRMgwTNHM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/35-Nahum-FNL.jpg\"\n },\n {\n \"id\": \"bp-pTt2bB00\",\n \"title\": \"Habakkuk\",\n \"filename\": \"habakkuk\",\n \"muxPlaybackId\": \"pTt2bB00yyDfm5yxGJGWeVf727oKGDaGpUr1ejIgzgQ4\",\n \"videoUrl\": \"https://stream.mux.com/pTt2bB00yyDfm5yxGJGWeVf727oKGDaGpUr1ejIgzgQ4/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/36-Habakkuk-FNL.jpg\"\n },\n {\n \"id\": \"bp-kjAdtqF0\",\n \"title\": \"Zephaniah\",\n \"filename\": \"zephaniah\",\n \"muxPlaybackId\": \"kjAdtqF00isi8bDgSxUv2ddIzmjrUKY3u9mS4hCaPyd00\",\n \"videoUrl\": \"https://stream.mux.com/kjAdtqF00isi8bDgSxUv2ddIzmjrUKY3u9mS4hCaPyd00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/37-Zephaniah-FNL.jpg\"\n },\n {\n \"id\": \"bp-pZRi77eK\",\n \"title\": \"Haggai\",\n \"filename\": \"haggai\",\n \"muxPlaybackId\": \"pZRi77eK9R8MdBGDyC02r7MHTCMMg00gKAcZfC6q7DtEs\",\n \"videoUrl\": \"https://stream.mux.com/pZRi77eK9R8MdBGDyC02r7MHTCMMg00gKAcZfC6q7DtEs/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/38-Haggai-FNL.jpg\"\n },\n {\n \"id\": \"bp-J2Vrrtht\",\n \"title\": \"Zechariah\",\n \"filename\": \"zechariah\",\n \"muxPlaybackId\": \"J2VrrthtfMUEhNLNWIvdst9ovEsCBoAwC00JbS01JCBC8\",\n \"videoUrl\": \"https://stream.mux.com/J2VrrthtfMUEhNLNWIvdst9ovEsCBoAwC00JbS01JCBC8/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/39-Zechariah-FNL.jpg\"\n },\n {\n \"id\": \"bp-qsffszig\",\n \"title\": \"Malachi\",\n \"filename\": \"malachi\",\n \"muxPlaybackId\": \"qsffsziguotrr00hG6fmDFt3qwbnhHny5GmQVKxtyc00I\",\n \"videoUrl\": \"https://stream.mux.com/qsffsziguotrr00hG6fmDFt3qwbnhHny5GmQVKxtyc00I/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/40-Malachi-FNL.jpg\"\n },\n {\n \"id\": \"bp-k02iIOIA\",\n \"title\": \"1 And 2 Chronicles\",\n \"filename\": \"1-and-2-chronicles\",\n \"muxPlaybackId\": \"k02iIOIASBRpdsdZX762jRd015pOGZHM91qQVPvys7iJo\",\n \"videoUrl\": \"https://stream.mux.com/k02iIOIASBRpdsdZX762jRd015pOGZHM91qQVPvys7iJo/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/41-Chronicles-FNL.jpg\"\n },\n {\n \"id\": \"bp-WhAb01S5\",\n \"title\": \"The Exodus Way\",\n \"filename\": \"the-exodus-way\",\n \"muxPlaybackId\": \"WhAb01S5TRkjikqlIuQ00ajVRVQuYuYVikJvbeKwIj00SI\",\n \"videoUrl\": \"https://stream.mux.com/WhAb01S5TRkjikqlIuQ00ajVRVQuYuYVikJvbeKwIj00SI/high.mp4\"\n },\n {\n \"id\": \"bp-BoSAqDcS\",\n \"title\": \"Matthew 533 37 Oaths And Truth Telling\",\n \"filename\": \"matthew-533-37-oaths-and-truth-telling\",\n \"muxPlaybackId\": \"BoSAqDcSG01h6018CZ3mpq6W1M2pbJrTJNYtMdzUrf8qk\",\n \"videoUrl\": \"https://stream.mux.com/BoSAqDcSG01h6018CZ3mpq6W1M2pbJrTJNYtMdzUrf8qk/high.mp4\"\n },\n {\n \"id\": \"bp-fIOh5zHG\",\n \"title\": \"The Book Of Psalms\",\n \"filename\": \"the-book-of-psalms\",\n \"muxPlaybackId\": \"fIOh5zHGXmLU025yMRp6PmRu8wTPNpRaZQNyvKWVHwCw\",\n \"videoUrl\": \"https://stream.mux.com/fIOh5zHGXmLU025yMRp6PmRu8wTPNpRaZQNyvKWVHwCw/high.mp4\"\n },\n {\n \"id\": \"bp-KIXyrg7F\",\n \"title\": \"Genesis 1\",\n \"filename\": \"genesis-1\",\n \"muxPlaybackId\": \"KIXyrg7FpKKo4u02SQIHkrcEHSSlfUb53GikjdU6wEMQ\",\n \"videoUrl\": \"https://stream.mux.com/KIXyrg7FpKKo4u02SQIHkrcEHSSlfUb53GikjdU6wEMQ/high.mp4\"\n },\n {\n \"id\": \"bp-7G9K01HV\",\n \"title\": \"Psalm 8\",\n \"filename\": \"psalm-8\",\n \"muxPlaybackId\": \"7G9K01HVO01rADY2PePj00bq00Q7TDznumUysbcf1OFHKAE\",\n \"videoUrl\": \"https://stream.mux.com/7G9K01HVO01rADY2PePj00bq00Q7TDznumUysbcf1OFHKAE/high.mp4\"\n },\n {\n \"id\": \"bp-FOS9qI6k\",\n \"title\": \"Proverbs 8\",\n \"filename\": \"proverbs-8\",\n \"muxPlaybackId\": \"FOS9qI6k1ww5AQOkGTer4F2EBZPqHaefFfhej9jEQlg\",\n \"videoUrl\": \"https://stream.mux.com/FOS9qI6k1ww5AQOkGTer4F2EBZPqHaefFfhej9jEQlg/high.mp4\"\n },\n {\n \"id\": \"bp-YiQGFteW\",\n \"title\": \"Psalm 148\",\n \"filename\": \"psalm-148\",\n \"muxPlaybackId\": \"YiQGFteW7kzkFHcV01EwCDhbYWdp59UGfFuVUFzTW02ro\",\n \"videoUrl\": \"https://stream.mux.com/YiQGFteW7kzkFHcV01EwCDhbYWdp59UGfFuVUFzTW02ro/high.mp4\"\n },\n {\n \"id\": \"bp-uT027Uvy\",\n \"title\": \"Visual Commentary Exodus 346 7\",\n \"filename\": \"visual-commentary-exodus-346-7\",\n \"muxPlaybackId\": \"uT027UvyOqrajQXVB00DVN73NYfkwm9PO7nbLkrbXYkMI\",\n \"videoUrl\": \"https://stream.mux.com/uT027UvyOqrajQXVB00DVN73NYfkwm9PO7nbLkrbXYkMI/high.mp4\"\n },\n {\n \"id\": \"bp-hjCtXGeU\",\n \"title\": \"Proverbs\",\n \"filename\": \"proverbs\",\n \"muxPlaybackId\": \"hjCtXGeUZVMcnJKtoYZsCqcvIE6C8WKIaiCt9Vyj1Js\",\n \"videoUrl\": \"https://stream.mux.com/hjCtXGeUZVMcnJKtoYZsCqcvIE6C8WKIaiCt9Vyj1Js/high.mp4\"\n },\n {\n \"id\": \"bp-qtqlAWuo\",\n \"title\": \"Ecclesiastes\",\n \"filename\": \"ecclesiastes\",\n \"muxPlaybackId\": \"qtqlAWuoXV2Z2NukEu3ftOLWMJdqgMGthj9bZPNM6wU\",\n \"videoUrl\": \"https://stream.mux.com/qtqlAWuoXV2Z2NukEu3ftOLWMJdqgMGthj9bZPNM6wU/high.mp4\"\n },\n {\n \"id\": \"bp-Mij9SzLS\",\n \"title\": \"Job\",\n \"filename\": \"job\",\n \"muxPlaybackId\": \"Mij9SzLS4y00XFHLoBw017zkc9MjaXP3nlEC01oBkPeLns\",\n \"videoUrl\": \"https://stream.mux.com/Mij9SzLS4y00XFHLoBw017zkc9MjaXP3nlEC01oBkPeLns/high.mp4\"\n },\n {\n \"id\": \"bp-Jorcqh9B\",\n \"title\": \"Genesis 1 11\",\n \"filename\": \"genesis-1-11\",\n \"muxPlaybackId\": \"Jorcqh9B385AM1gu3bFRRfrKPSM4xRkpZwlDBAs00WMI\",\n \"videoUrl\": \"https://stream.mux.com/Jorcqh9B385AM1gu3bFRRfrKPSM4xRkpZwlDBAs00WMI/high.mp4\"\n },\n {\n \"id\": \"bp-TkYDFrCh\",\n \"title\": \"Genesis 12 50\",\n \"filename\": \"genesis-12-50\",\n \"muxPlaybackId\": \"TkYDFrChFisqmIkNElWS44011uqTRnjrRDS02Nt5fzcrI\",\n \"videoUrl\": \"https://stream.mux.com/TkYDFrChFisqmIkNElWS44011uqTRnjrRDS02Nt5fzcrI/high.mp4\"\n },\n {\n \"id\": \"bp-13028HyB\",\n \"title\": \"Exodus 1 18\",\n \"filename\": \"exodus-1-18\",\n \"muxPlaybackId\": \"13028HyBJrFQ9NXsKZE9EKB47yZNvB65y1S4rDqvNqE8\",\n \"videoUrl\": \"https://stream.mux.com/13028HyBJrFQ9NXsKZE9EKB47yZNvB65y1S4rDqvNqE8/high.mp4\"\n },\n {\n \"id\": \"bp-oGioe01w\",\n \"title\": \"Exodus 19 40\",\n \"filename\": \"exodus-19-40\",\n \"muxPlaybackId\": \"oGioe01w02FW8ChaM02OQCR845gSbKhA3Kd2aY11cJK9YQ\",\n \"videoUrl\": \"https://stream.mux.com/oGioe01w02FW8ChaM02OQCR845gSbKhA3Kd2aY11cJK9YQ/high.mp4\"\n },\n {\n \"id\": \"bp-2AeFwJa1\",\n \"title\": \"Leviticus\",\n \"filename\": \"leviticus\",\n \"muxPlaybackId\": \"2AeFwJa1OdgULnxHx47gV3KpnPLoP9uE5tGXaNSnIxc\",\n \"videoUrl\": \"https://stream.mux.com/2AeFwJa1OdgULnxHx47gV3KpnPLoP9uE5tGXaNSnIxc/high.mp4\"\n },\n {\n \"id\": \"bp-8avMenqq\",\n \"title\": \"Numbers\",\n \"filename\": \"numbers\",\n \"muxPlaybackId\": \"8avMenqqEMuHoOALiDbR7C01KCP9nLHNl8T4qM4xzuWU\",\n \"videoUrl\": \"https://stream.mux.com/8avMenqqEMuHoOALiDbR7C01KCP9nLHNl8T4qM4xzuWU/high.mp4\"\n },\n {\n \"id\": \"bp-ya5GW702\",\n \"title\": \"Deuteronomy\",\n \"filename\": \"deuteronomy\",\n \"muxPlaybackId\": \"ya5GW702WAFFkLZhQlnt00OupZcHusDmvY9FT3NRa35Cw\",\n \"videoUrl\": \"https://stream.mux.com/ya5GW702WAFFkLZhQlnt00OupZcHusDmvY9FT3NRa35Cw/high.mp4\"\n },\n {\n \"id\": \"bp-vkjeJNcP\",\n \"title\": \"Esther Second Edition\",\n \"filename\": \"esther-second-edition\",\n \"muxPlaybackId\": \"vkjeJNcP501gboBbRjx02pQAH1SIpqU9bwkLthQLEe00lA\",\n \"videoUrl\": \"https://stream.mux.com/vkjeJNcP501gboBbRjx02pQAH1SIpqU9bwkLthQLEe00lA/high.mp4\"\n },\n {\n \"id\": \"bp-S8qvoXnW\",\n \"title\": \"Daniel Second Edition\",\n \"filename\": \"daniel-second-edition\",\n \"muxPlaybackId\": \"S8qvoXnWSfLI7vxtFEAOzFkb800h0202achddi6CeRX8uc\",\n \"videoUrl\": \"https://stream.mux.com/S8qvoXnWSfLI7vxtFEAOzFkb800h0202achddi6CeRX8uc/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"New Testament Overviews\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/new-testament-overviews/tr:q-65,w-300/nt-overviews_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-Z023UIyq\",\n \"title\": \"New Testament Overview\",\n \"filename\": \"new-testament-overview\",\n \"muxPlaybackId\": \"Z023UIyqQF6RzvxYo02tMKBqlUrWdWpingO02VYDgWzQPY\",\n \"videoUrl\": \"https://stream.mux.com/Z023UIyqQF6RzvxYo02tMKBqlUrWdWpingO02VYDgWzQPY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/NT%20Overview.jpg\"\n },\n {\n \"id\": \"bp-801erPO5\",\n \"title\": \"Matthew 1 13\",\n \"filename\": \"matthew-1-13\",\n \"muxPlaybackId\": \"801erPO5siagtLvyNYBB01nIS8GRD4ZQFUgLPEPb2Vc2Y\",\n \"videoUrl\": \"https://stream.mux.com/801erPO5siagtLvyNYBB01nIS8GRD4ZQFUgLPEPb2Vc2Y/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/42-Matthew-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-l26rKhJa\",\n \"title\": \"Matthew 14 28\",\n \"filename\": \"matthew-14-28\",\n \"muxPlaybackId\": \"l26rKhJazSPaf0201RS8aLbe9bTF47R2yx021kYKHVzyVI\",\n \"videoUrl\": \"https://stream.mux.com/l26rKhJazSPaf0201RS8aLbe9bTF47R2yx021kYKHVzyVI/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/42-Matthew-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-e9eTDZe5\",\n \"title\": \"Mark\",\n \"filename\": \"mark\",\n \"muxPlaybackId\": \"e9eTDZe5OFaz22dp2Llh8srfxP2unSimWnUIZVq202Os\",\n \"videoUrl\": \"https://stream.mux.com/e9eTDZe5OFaz22dp2Llh8srfxP2unSimWnUIZVq202Os/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/44-Mark-FNL.jpg\"\n },\n {\n \"id\": \"bp-sC6VzZQD\",\n \"title\": \"John 1 12\",\n \"filename\": \"john-1-12\",\n \"muxPlaybackId\": \"sC6VzZQDk3024mhE2n8csZLINmtu7Vew8sgEs2W01V01gg\",\n \"videoUrl\": \"https://stream.mux.com/sC6VzZQDk3024mhE2n8csZLINmtu7Vew8sgEs2W01V01gg/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/45-46-john-1.jpg\"\n },\n {\n \"id\": \"bp-THgfzaH0\",\n \"title\": \"John 13 21\",\n \"filename\": \"john-13-21\",\n \"muxPlaybackId\": \"THgfzaH02VR5sEqbks815HtAvqp02ecinrwLaQmw3b6LM\",\n \"videoUrl\": \"https://stream.mux.com/THgfzaH02VR5sEqbks815HtAvqp02ecinrwLaQmw3b6LM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/45-46-john-1.jpg\"\n },\n {\n \"id\": \"bp-stejN00X\",\n \"title\": \"Luke 1 9\",\n \"filename\": \"luke-1-9\",\n \"muxPlaybackId\": \"stejN00X6iFAutx7foc902ijNyO11r7gch8gNMnzGVLBM\",\n \"videoUrl\": \"https://stream.mux.com/stejN00X6iFAutx7foc902ijNyO11r7gch8gNMnzGVLBM/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/47-48-Luke-FNL.jpg\"\n },\n {\n \"id\": \"bp-00zzJzUd\",\n \"title\": \"Luke 10 24\",\n \"filename\": \"luke-10-24\",\n \"muxPlaybackId\": \"00zzJzUdTCefLs01DFvfNKmW5f00YXkovQl01PHvJyTJjhY\",\n \"videoUrl\": \"https://stream.mux.com/00zzJzUdTCefLs01DFvfNKmW5f00YXkovQl01PHvJyTJjhY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/47-48-Luke-FNL.jpg\"\n },\n {\n \"id\": \"bp-zEm8b16B\",\n \"title\": \"Acts 1 12\",\n \"filename\": \"acts-1-12\",\n \"muxPlaybackId\": \"zEm8b16B4p7NWXnDvS5nu25nSExRoI6EKP5GhHAWg2Q\",\n \"videoUrl\": \"https://stream.mux.com/zEm8b16B4p7NWXnDvS5nu25nSExRoI6EKP5GhHAWg2Q/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/49-Acts-FNL.jpg\"\n },\n {\n \"id\": \"bp-JGLOuBLC\",\n \"title\": \"Acts 13 28\",\n \"filename\": \"acts-13-28\",\n \"muxPlaybackId\": \"JGLOuBLC800dwIB2EWj027EN9e6K42poyigmI600moX00008\",\n \"videoUrl\": \"https://stream.mux.com/JGLOuBLC800dwIB2EWj027EN9e6K42poyigmI600moX00008/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/49-Acts-FNL.jpg\"\n },\n {\n \"id\": \"bp-JOwtd4wJ\",\n \"title\": \"Romans 1 4\",\n \"filename\": \"romans-1-4\",\n \"muxPlaybackId\": \"JOwtd4wJBaE4tNEpG29osk7YpsfJGd1hvFP9RL2nPWY\",\n \"videoUrl\": \"https://stream.mux.com/JOwtd4wJBaE4tNEpG29osk7YpsfJGd1hvFP9RL2nPWY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/50_Romans.jpg\"\n },\n {\n \"id\": \"bp-01O8p00k\",\n \"title\": \"Romans 5 16\",\n \"filename\": \"romans-5-16\",\n \"muxPlaybackId\": \"01O8p00kAKeMNeSBelNy100lSoMoFcCZ01W6rU1McatNQ8w\",\n \"videoUrl\": \"https://stream.mux.com/01O8p00kAKeMNeSBelNy100lSoMoFcCZ01W6rU1McatNQ8w/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/50_Romans.jpg\"\n },\n {\n \"id\": \"bp-WieKKhX2\",\n \"title\": \"1 Corinthians\",\n \"filename\": \"1-corinthians\",\n \"muxPlaybackId\": \"WieKKhX26bqP4x9OKvQUmBKSHvk38EcEeTilyn5lXP4\",\n \"videoUrl\": \"https://stream.mux.com/WieKKhX26bqP4x9OKvQUmBKSHvk38EcEeTilyn5lXP4/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/52-53-Corinthians.jpg\"\n },\n {\n \"id\": \"bp-XoW027eY\",\n \"title\": \"2 Corinthians\",\n \"filename\": \"2-corinthians\",\n \"muxPlaybackId\": \"XoW027eYYCX1FQvly9RAOIeH02KL012t4n2L3B1IosUSyI\",\n \"videoUrl\": \"https://stream.mux.com/XoW027eYYCX1FQvly9RAOIeH02KL012t4n2L3B1IosUSyI/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/53-2-Corinthians-FNL2.jpg\"\n },\n {\n \"id\": \"bp-4IfSvOSl\",\n \"title\": \"Galatians\",\n \"filename\": \"galatians\",\n \"muxPlaybackId\": \"4IfSvOSllmXJrS81fhXR01HAs7zscrlEX9r4D9F9M4dg\",\n \"videoUrl\": \"https://stream.mux.com/4IfSvOSllmXJrS81fhXR01HAs7zscrlEX9r4D9F9M4dg/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/54-Galatians-FNL.jpg\"\n },\n {\n \"id\": \"bp-fBwEIh2Z\",\n \"title\": \"Ephesians\",\n \"filename\": \"ephesians\",\n \"muxPlaybackId\": \"fBwEIh2ZQL901mFJZAw7f02aRqFRHNdinm8w1T01m023I02M\",\n \"videoUrl\": \"https://stream.mux.com/fBwEIh2ZQL901mFJZAw7f02aRqFRHNdinm8w1T01m023I02M/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/55-Ephesians-FNL.jpg\"\n },\n {\n \"id\": \"bp-02ih3eMg\",\n \"title\": \"Philippians\",\n \"filename\": \"philippians\",\n \"muxPlaybackId\": \"02ih3eMgX8BhfWNCQvCAAx64o6tp702Y300pspD00KtyHqY\",\n \"videoUrl\": \"https://stream.mux.com/02ih3eMgX8BhfWNCQvCAAx64o6tp702Y300pspD00KtyHqY/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/56-Philippians-FNL.jpg\"\n },\n {\n \"id\": \"bp-V01bN4sE\",\n \"title\": \"Colossians\",\n \"filename\": \"colossians\",\n \"muxPlaybackId\": \"V01bN4sEe00pnK3q3dpeTcXb76puDljNGzQVXljgz8BZA\",\n \"videoUrl\": \"https://stream.mux.com/V01bN4sEe00pnK3q3dpeTcXb76puDljNGzQVXljgz8BZA/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/57%20Colossians%20PRF.jpg\"\n },\n {\n \"id\": \"bp-LX1qiBym\",\n \"title\": \"Philemon\",\n \"filename\": \"philemon\",\n \"muxPlaybackId\": \"LX1qiBymc001VKGvwvsYPVStla01c02cjs8gYr2XoJns01c\",\n \"videoUrl\": \"https://stream.mux.com/LX1qiBymc001VKGvwvsYPVStla01c02cjs8gYr2XoJns01c/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/58-Philemon-FNL-1.jpg\"\n },\n {\n \"id\": \"bp-fUgStG3N\",\n \"title\": \"1 Thessalonians\",\n \"filename\": \"1-thessalonians\",\n \"muxPlaybackId\": \"fUgStG3Nmi01m62gSgztdausKS186QWKC1ElQSrxHTPo\",\n \"videoUrl\": \"https://stream.mux.com/fUgStG3Nmi01m62gSgztdausKS186QWKC1ElQSrxHTPo/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/59a-1-Thessalonians-FNL.jpg\"\n },\n {\n \"id\": \"bp-s8xNyy92\",\n \"title\": \"2 Thessalonians\",\n \"filename\": \"2-thessalonians\",\n \"muxPlaybackId\": \"s8xNyy92ChSWhjehfSxREYKI5KsrGGZcnPTwVp8gKJ4\",\n \"videoUrl\": \"https://stream.mux.com/s8xNyy92ChSWhjehfSxREYKI5KsrGGZcnPTwVp8gKJ4/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/59b-2-Thessalonians-FNL.jpg\"\n },\n {\n \"id\": \"bp-vP00JOsZ\",\n \"title\": \"1 Timothy\",\n \"filename\": \"1-timothy\",\n \"muxPlaybackId\": \"vP00JOsZ45owxi02N7fGK8rN1J3BBRXND3RX7ucUMBjO00\",\n \"videoUrl\": \"https://stream.mux.com/vP00JOsZ45owxi02N7fGK8rN1J3BBRXND3RX7ucUMBjO00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/60-1-Timothy-FNL.jpg\"\n },\n {\n \"id\": \"bp-CPH011Q2\",\n \"title\": \"2 Timothy\",\n \"filename\": \"2-timothy\",\n \"muxPlaybackId\": \"CPH011Q2nQ8jLVAKmU4n4fKWcP9lCbHLgT6pSsVlv5iw\",\n \"videoUrl\": \"https://stream.mux.com/CPH011Q2nQ8jLVAKmU4n4fKWcP9lCbHLgT6pSsVlv5iw/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/61-2-Timothy-FNL.jpg\"\n },\n {\n \"id\": \"bp-yS7D01Wg\",\n \"title\": \"Titus\",\n \"filename\": \"titus\",\n \"muxPlaybackId\": \"yS7D01WgY23OXviV6oFm01ds6XMB4Xh02fmPwMiuxUZq018\",\n \"videoUrl\": \"https://stream.mux.com/yS7D01WgY23OXviV6oFm01ds6XMB4Xh02fmPwMiuxUZq018/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/62%20Titus%20FNL.jpg\"\n },\n {\n \"id\": \"bp-8dq3itoi\",\n \"title\": \"Hebrews\",\n \"filename\": \"hebrews\",\n \"muxPlaybackId\": \"8dq3itoij1p9Uuydyk2joy9skBhO00N00SrPrL020001Q8i8\",\n \"videoUrl\": \"https://stream.mux.com/8dq3itoij1p9Uuydyk2joy9skBhO00N00SrPrL020001Q8i8/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/64-James_FNL.jpg\"\n },\n {\n \"id\": \"bp-qhwIsZal\",\n \"title\": \"James\",\n \"filename\": \"james\",\n \"muxPlaybackId\": \"qhwIsZal01vnXbXQUiLeY00LOdUML2HtPXMnH8PgRAZf00\",\n \"videoUrl\": \"https://stream.mux.com/qhwIsZal01vnXbXQUiLeY00LOdUML2HtPXMnH8PgRAZf00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/64-James_FNL.jpg\"\n },\n {\n \"id\": \"bp-cgex91dC\",\n \"title\": \"1 Peter\",\n \"filename\": \"1-peter\",\n \"muxPlaybackId\": \"cgex91dCChkk6bl6oDZAT6KvJZREDYC1MSVKyTqLdKk\",\n \"videoUrl\": \"https://stream.mux.com/cgex91dCChkk6bl6oDZAT6KvJZREDYC1MSVKyTqLdKk/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/65-1-Peter-FNL.jpg\"\n },\n {\n \"id\": \"bp-mlymhw6h\",\n \"title\": \"2 Peter\",\n \"filename\": \"2-peter\",\n \"muxPlaybackId\": \"mlymhw6hBY2vK1ZYO00Dfwmnz0000G7KoCOPINAmMDDJzw\",\n \"videoUrl\": \"https://stream.mux.com/mlymhw6hBY2vK1ZYO00Dfwmnz0000G7KoCOPINAmMDDJzw/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/66-2-Peter-FNL.jpg\"\n },\n {\n \"id\": \"bp-3Kp22zNH\",\n \"title\": \"1 3 John\",\n \"filename\": \"1-3-john\",\n \"muxPlaybackId\": \"3Kp22zNH5QhX027LKFYSknh1fmOGtYkekaPFYY5hFg5c\",\n \"videoUrl\": \"https://stream.mux.com/3Kp22zNH5QhX027LKFYSknh1fmOGtYkekaPFYY5hFg5c/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/67-123-John.jpg\"\n },\n {\n \"id\": \"bp-W01i5s01\",\n \"title\": \"Jude\",\n \"filename\": \"jude\",\n \"muxPlaybackId\": \"W01i5s0102PiKfdLNO1E9zNThUN9N1FWyMCqVLSTYk7dnI\",\n \"videoUrl\": \"https://stream.mux.com/W01i5s0102PiKfdLNO1E9zNThUN9N1FWyMCqVLSTYk7dnI/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/68-Jude-FNL.jpg\"\n },\n {\n \"id\": \"bp-005Ha01v\",\n \"title\": \"Revelation 1 11\",\n \"filename\": \"revelation-1-11\",\n \"muxPlaybackId\": \"005Ha01v65P4LM02xcsTbyW902oAThsAtuSRaCHnNedC01Dk\",\n \"videoUrl\": \"https://stream.mux.com/005Ha01v65P4LM02xcsTbyW902oAThsAtuSRaCHnNedC01Dk/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/69-70-Revelation-FNL.jpg\"\n },\n {\n \"id\": \"bp-4hFy6Fg0\",\n \"title\": \"Revelation 12 22\",\n \"filename\": \"revelation-12-22\",\n \"muxPlaybackId\": \"4hFy6Fg00v5OZH7ThE8s4JSZ02i3bfCexbCCyXGybUTK00\",\n \"videoUrl\": \"https://stream.mux.com/4hFy6Fg00v5OZH7ThE8s4JSZ02i3bfCexbCCyXGybUTK00/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/69-70-Revelation-FNL.jpg\"\n },\n {\n \"id\": \"bp-DMQYPSes\",\n \"title\": \"Matthew 5 7 Sermon Overview\",\n \"filename\": \"matthew-5-7-sermon-overview\",\n \"muxPlaybackId\": \"DMQYPSesvzZyWsOGKR02eA7dSQu3T028FDNO6EDW01k8PU\",\n \"videoUrl\": \"https://stream.mux.com/DMQYPSesvzZyWsOGKR02eA7dSQu3T028FDNO6EDW01k8PU/high.mp4\"\n },\n {\n \"id\": \"bp-GbCmMEQi\",\n \"title\": \"Matthew 517 20 Righteousness And Jesus Bible\",\n \"filename\": \"matthew-517-20-righteousness-and-jesus-bible\",\n \"muxPlaybackId\": \"GbCmMEQi75uPMKskmo01NEcbzQ00LUk8ugVXJK3iMzsSE\",\n \"videoUrl\": \"https://stream.mux.com/GbCmMEQi75uPMKskmo01NEcbzQ00LUk8ugVXJK3iMzsSE/high.mp4\"\n },\n {\n \"id\": \"bp-Gw2rkyn2\",\n \"title\": \"Matthew 521 22 Murder And Contempt\",\n \"filename\": \"matthew-521-22-murder-and-contempt\",\n \"muxPlaybackId\": \"Gw2rkyn2OJ1wb8hcRp01LkQ3ftiJlaE0001aqTnuQsUdbQ\",\n \"videoUrl\": \"https://stream.mux.com/Gw2rkyn2OJ1wb8hcRp01LkQ3ftiJlaE0001aqTnuQsUdbQ/high.mp4\"\n },\n {\n \"id\": \"bp-mnDok7dM\",\n \"title\": \"Matthew 527 28 Adultery And Lust\",\n \"filename\": \"matthew-527-28-adultery-and-lust\",\n \"muxPlaybackId\": \"mnDok7dMFAve02Pfra8ZOVnftrHSB21GgUZI4DIxXBQU\",\n \"videoUrl\": \"https://stream.mux.com/mnDok7dMFAve02Pfra8ZOVnftrHSB21GgUZI4DIxXBQU/high.mp4\"\n },\n {\n \"id\": \"bp-23OrCqtn\",\n \"title\": \"Matthew 529 30 Eye And Hand Mutilation\",\n \"filename\": \"matthew-529-30-eye-and-hand-mutilation\",\n \"muxPlaybackId\": \"23OrCqtnB5TwNLmQxzISdW56HtjUdpnM700bAZAvWrbE\",\n \"videoUrl\": \"https://stream.mux.com/23OrCqtnB5TwNLmQxzISdW56HtjUdpnM700bAZAvWrbE/high.mp4\"\n },\n {\n \"id\": \"bp-00UgyQ01\",\n \"title\": \"Matthew 61 4 Generosity And The True Reward\",\n \"filename\": \"matthew-61-4-generosity-and-the-true-reward\",\n \"muxPlaybackId\": \"00UgyQ01VU9IaQjQb02v7SMZ4u6wKrfsKmTzhFlZSWFy9w\",\n \"videoUrl\": \"https://stream.mux.com/00UgyQ01VU9IaQjQb02v7SMZ4u6wKrfsKmTzhFlZSWFy9w/high.mp4\"\n },\n {\n \"id\": \"bp-6HAd7UQF\",\n \"title\": \"Matthew 69 13 The Prayer Of Jesus\",\n \"filename\": \"matthew-69-13-the-prayer-of-jesus\",\n \"muxPlaybackId\": \"6HAd7UQFq61tJvdCW4xwGde5g00brLiPA1F41paRvIng\",\n \"videoUrl\": \"https://stream.mux.com/6HAd7UQFq61tJvdCW4xwGde5g00brLiPA1F41paRvIng/high.mp4\"\n },\n {\n \"id\": \"bp-sdgNn7hL\",\n \"title\": \"Matthew 619 23 True Wealth And Generosity\",\n \"filename\": \"matthew-619-23-true-wealth-and-generosity\",\n \"muxPlaybackId\": \"sdgNn7hLjDa00PDuLSGlBhuIprZh7P95xL3swvRtg87I\",\n \"videoUrl\": \"https://stream.mux.com/sdgNn7hLjDa00PDuLSGlBhuIprZh7P95xL3swvRtg87I/high.mp4\"\n },\n {\n \"id\": \"bp-yM6gt7pU\",\n \"title\": \"Matthew 71 2 Dont Judge\",\n \"filename\": \"matthew-71-2-dont-judge\",\n \"muxPlaybackId\": \"yM6gt7pUVdDfxEzbC5sEUmCwaCni9Fg1voS4B3gdZh8\",\n \"videoUrl\": \"https://stream.mux.com/yM6gt7pUVdDfxEzbC5sEUmCwaCni9Fg1voS4B3gdZh8/high.mp4\"\n },\n {\n \"id\": \"bp-963tjVXI\",\n \"title\": \"Matthew 76 Pearls Before Pigs\",\n \"filename\": \"matthew-76-pearls-before-pigs\",\n \"muxPlaybackId\": \"963tjVXI9U01n2A5JnK01lDPypodSa2rWNMrm763vjOts\",\n \"videoUrl\": \"https://stream.mux.com/963tjVXI9U01n2A5JnK01lDPypodSa2rWNMrm763vjOts/high.mp4\"\n },\n {\n \"id\": \"bp-t900wtFS\",\n \"title\": \"Matthew 712 The Golden Rule\",\n \"filename\": \"matthew-712-the-golden-rule\",\n \"muxPlaybackId\": \"t900wtFSCmAyzhX00kuxRSZtAQmqLVQ2vnKVHyhJlOk8A\",\n \"videoUrl\": \"https://stream.mux.com/t900wtFSCmAyzhX00kuxRSZtAQmqLVQ2vnKVHyhJlOk8A/high.mp4\"\n },\n {\n \"id\": \"bp-w01Gbi00\",\n \"title\": \"Matthew 724 27 The Two Houses\",\n \"filename\": \"matthew-724-27-the-two-houses\",\n \"muxPlaybackId\": \"w01Gbi00lPlTtA7wyVTS4rLxIHJ65VJNvEI2VkAprMHf8\",\n \"videoUrl\": \"https://stream.mux.com/w01Gbi00lPlTtA7wyVTS4rLxIHJ65VJNvEI2VkAprMHf8/high.mp4\"\n },\n {\n \"id\": \"bp-E8ewd02F\",\n \"title\": \"New Testament Letters Historical Context\",\n \"filename\": \"new-testament-letters-historical-context\",\n \"muxPlaybackId\": \"E8ewd02FS3rAqj5Wui8GXSRn2tMTp01eRvNDHXcAk9R1I\",\n \"videoUrl\": \"https://stream.mux.com/E8ewd02FS3rAqj5Wui8GXSRn2tMTp01eRvNDHXcAk9R1I/high.mp4\"\n },\n {\n \"id\": \"bp-011diPqU\",\n \"title\": \"New Testament Letters Literary Context\",\n \"filename\": \"new-testament-letters-literary-context\",\n \"muxPlaybackId\": \"011diPqUlURqRsGcn5QK5pXmDdpS00XL7MEFdrW2K12zI\",\n \"videoUrl\": \"https://stream.mux.com/011diPqUlURqRsGcn5QK5pXmDdpS00XL7MEFdrW2K12zI/high.mp4\"\n },\n {\n \"id\": \"bp-nG24qFQo\",\n \"title\": \"John 1\",\n \"filename\": \"john-1\",\n \"muxPlaybackId\": \"nG24qFQoj01ngclz255PHjmKR00O3PExZb9TjfrFeb01vM\",\n \"videoUrl\": \"https://stream.mux.com/nG24qFQoj01ngclz255PHjmKR00O3PExZb9TjfrFeb01vM/high.mp4\"\n },\n {\n \"id\": \"bp-3Mix02RE\",\n \"title\": \"The Birth Of Jesus Luke 1 2\",\n \"filename\": \"the-birth-of-jesus-luke-1-2\",\n \"muxPlaybackId\": \"3Mix02RE1IeFBG3a02KMm7t1LxH2bIbeuuzd1xlMnmOCs\",\n \"videoUrl\": \"https://stream.mux.com/3Mix02RE1IeFBG3a02KMm7t1LxH2bIbeuuzd1xlMnmOCs/high.mp4\"\n },\n {\n \"id\": \"bp-RM7WmIn0\",\n \"title\": \"The Baptism Of Jesus Luke 3 9\",\n \"filename\": \"the-baptism-of-jesus-luke-3-9\",\n \"muxPlaybackId\": \"RM7WmIn01C2dOiAYfR8d2Bx92x6d02ZNXn401rKuFLZhmk\",\n \"videoUrl\": \"https://stream.mux.com/RM7WmIn01C2dOiAYfR8d2Bx92x6d02ZNXn401rKuFLZhmk/high.mp4\"\n },\n {\n \"id\": \"bp-elaFbZFY\",\n \"title\": \"The Prodigal Son Luke 9 19\",\n \"filename\": \"the-prodigal-son-luke-9-19\",\n \"muxPlaybackId\": \"elaFbZFYle521coNqbv8Pecv2s6XCbTlUs6YxTNLnC8\",\n \"videoUrl\": \"https://stream.mux.com/elaFbZFYle521coNqbv8Pecv2s6XCbTlUs6YxTNLnC8/high.mp4\"\n },\n {\n \"id\": \"bp-jcQFFCAz\",\n \"title\": \"The Crucifixion Of Jesus Luke 19 23\",\n \"filename\": \"the-crucifixion-of-jesus-luke-19-23\",\n \"muxPlaybackId\": \"jcQFFCAz3WgOd5g00sqqM7mDnFfI01R6TxN9SWjAT02YgM\",\n \"videoUrl\": \"https://stream.mux.com/jcQFFCAz3WgOd5g00sqqM7mDnFfI01R6TxN9SWjAT02YgM/high.mp4\"\n },\n {\n \"id\": \"bp-eeVWOGOb\",\n \"title\": \"The Resurrection Of Jesus Luke 24\",\n \"filename\": \"the-resurrection-of-jesus-luke-24\",\n \"muxPlaybackId\": \"eeVWOGObI451D9bJYRm4SQ10000VsfloKPUWurwbG02qDg\",\n \"videoUrl\": \"https://stream.mux.com/eeVWOGObI451D9bJYRm4SQ10000VsfloKPUWurwbG02qDg/high.mp4\"\n },\n {\n \"id\": \"bp-Q99jL26u\",\n \"title\": \"Pentecost Acts 1 7\",\n \"filename\": \"pentecost-acts-1-7\",\n \"muxPlaybackId\": \"Q99jL26uX42av35sOx6CsdyAzd2DXJ00rf302gKSEY1nM\",\n \"videoUrl\": \"https://stream.mux.com/Q99jL26uX42av35sOx6CsdyAzd2DXJ00rf302gKSEY1nM/high.mp4\"\n },\n {\n \"id\": \"bp-Y7i1lsxY\",\n \"title\": \"The Apostle Paul Acts 8 12\",\n \"filename\": \"the-apostle-paul-acts-8-12\",\n \"muxPlaybackId\": \"Y7i1lsxYa402HQZAeDudD1CLzadJwJF2Bq94CWyn6mfQ\",\n \"videoUrl\": \"https://stream.mux.com/Y7i1lsxYa402HQZAeDudD1CLzadJwJF2Bq94CWyn6mfQ/high.mp4\"\n },\n {\n \"id\": \"bp-NiX2ZN5G\",\n \"title\": \"Pauls Missionary Journeys Acts 13 20\",\n \"filename\": \"pauls-missionary-journeys-acts-13-20\",\n \"muxPlaybackId\": \"NiX2ZN5GQ02toPrh5lOp7DF02VogkysBXs9ePkpxpNG0200\",\n \"videoUrl\": \"https://stream.mux.com/NiX2ZN5GQ02toPrh5lOp7DF02VogkysBXs9ePkpxpNG0200/high.mp4\"\n },\n {\n \"id\": \"bp-02QFo4ME\",\n \"title\": \"Bound For Rome Acts 21 28\",\n \"filename\": \"bound-for-rome-acts-21-28\",\n \"muxPlaybackId\": \"02QFo4MEO24Es1MNV4xDuIlhtaxsnJwIWpDquLgWQIW00\",\n \"videoUrl\": \"https://stream.mux.com/02QFo4MEO24Es1MNV4xDuIlhtaxsnJwIWpDquLgWQIW00/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Biblical Themes\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/themes/tr:q-65,w-300/themes_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-M7JxYGBi\",\n \"title\": \"The Wilderness\",\n \"filename\": \"the-wilderness\",\n \"muxPlaybackId\": \"M7JxYGBikgT2QKm8L6PJc3HoakR841ScaGO7P5DriWY\",\n \"videoUrl\": \"https://stream.mux.com/M7JxYGBikgT2QKm8L6PJc3HoakR841ScaGO7P5DriWY/high.mp4\"\n },\n {\n \"id\": \"bp-2Z8nzeFB\",\n \"title\": \"Redemption\",\n \"filename\": \"redemption\",\n \"muxPlaybackId\": \"2Z8nzeFBm007rxd3Rh4fPZxIKthdoSo1M5WLyyZy4pWk\",\n \"videoUrl\": \"https://stream.mux.com/2Z8nzeFBm007rxd3Rh4fPZxIKthdoSo1M5WLyyZy4pWk/high.mp4\"\n },\n {\n \"id\": \"bp-XFrImxp1\",\n \"title\": \"The Mountain\",\n \"filename\": \"the-mountain\",\n \"muxPlaybackId\": \"XFrImxp1uIP02QT01cWyJuMUyOlhXmP7xwkkugDjz4sk4\",\n \"videoUrl\": \"https://stream.mux.com/XFrImxp1uIP02QT01cWyJuMUyOlhXmP7xwkkugDjz4sk4/high.mp4\"\n },\n {\n \"id\": \"bp-w1eN5wt0\",\n \"title\": \"The Messiah\",\n \"filename\": \"the-messiah\",\n \"muxPlaybackId\": \"w1eN5wt02j9fHB02DSxVrlNWbUP00pjEfnUaV2RY00FWo3E\",\n \"videoUrl\": \"https://stream.mux.com/w1eN5wt02j9fHB02DSxVrlNWbUP00pjEfnUaV2RY00FWo3E/high.mp4\"\n },\n {\n \"id\": \"bp-Qvh5JS2S\",\n \"title\": \"The Covenants\",\n \"filename\": \"the-covenants\",\n \"muxPlaybackId\": \"Qvh5JS2S01EI3y3pkZNGDKLP6Fwx1HlCz4Vkp5jH0071c\",\n \"videoUrl\": \"https://stream.mux.com/Qvh5JS2S01EI3y3pkZNGDKLP6Fwx1HlCz4Vkp5jH0071c/high.mp4\"\n },\n {\n \"id\": \"bp-gtPRhhK5\",\n \"title\": \"Holiness\",\n \"filename\": \"holiness\",\n \"muxPlaybackId\": \"gtPRhhK5ceBMz01KzpifRYfyc01IIO3LUxS02Zz9EZ7rAs\",\n \"videoUrl\": \"https://stream.mux.com/gtPRhhK5ceBMz01KzpifRYfyc01IIO3LUxS02Zz9EZ7rAs/high.mp4\"\n },\n {\n \"id\": \"bp-kjDODM02\",\n \"title\": \"Sacrifice And Atonement\",\n \"filename\": \"sacrifice-and-atonement\",\n \"muxPlaybackId\": \"kjDODM02a9ZuYcz5HDic01ulnf02t4SyWFav02SjydJxgqE\",\n \"videoUrl\": \"https://stream.mux.com/kjDODM02a9ZuYcz5HDic01ulnf02t4SyWFav02SjydJxgqE/high.mp4\"\n },\n {\n \"id\": \"bp-mp3tjs02\",\n \"title\": \"Gospel Of The Kingdom\",\n \"filename\": \"gospel-of-the-kingdom\",\n \"muxPlaybackId\": \"mp3tjs02X5scbwi8LqbWiAsST3I02ZgUo028PjMWSF1xRY\",\n \"videoUrl\": \"https://stream.mux.com/mp3tjs02X5scbwi8LqbWiAsST3I02ZgUo028PjMWSF1xRY/high.mp4\"\n },\n {\n \"id\": \"bp-QCLVg650\",\n \"title\": \"Day Of The Lord\",\n \"filename\": \"day-of-the-lord\",\n \"muxPlaybackId\": \"QCLVg65005EHgvzkioxGmCYyS74NyPhTzFlNmyDUgRSY\",\n \"videoUrl\": \"https://stream.mux.com/QCLVg65005EHgvzkioxGmCYyS74NyPhTzFlNmyDUgRSY/high.mp4\"\n },\n {\n \"id\": \"bp-Ze02bzjj\",\n \"title\": \"Holy Spirit\",\n \"filename\": \"holy-spirit\",\n \"muxPlaybackId\": \"Ze02bzjje4rWeY3ANRlZNx00UbwM8TaUz2MdjPQLy7Avg\",\n \"videoUrl\": \"https://stream.mux.com/Ze02bzjje4rWeY3ANRlZNx00UbwM8TaUz2MdjPQLy7Avg/high.mp4\"\n },\n {\n \"id\": \"bp-Ol1xhn7l\",\n \"title\": \"Public Reading Of Scripture\",\n \"filename\": \"public-reading-of-scripture\",\n \"muxPlaybackId\": \"Ol1xhn7lAfpO2l01vp3l9gsBswbI02MlKdxAiuoeI7OLM\",\n \"videoUrl\": \"https://stream.mux.com/Ol1xhn7lAfpO2l01vp3l9gsBswbI02MlKdxAiuoeI7OLM/high.mp4\"\n },\n {\n \"id\": \"bp-1V5ZkTXB\",\n \"title\": \"Justice\",\n \"filename\": \"justice\",\n \"muxPlaybackId\": \"1V5ZkTXBbm4s3w7CLcrUsYF2dO49si2cl800IC01chrKA\",\n \"videoUrl\": \"https://stream.mux.com/1V5ZkTXBbm4s3w7CLcrUsYF2dO49si2cl800IC01chrKA/high.mp4\"\n },\n {\n \"id\": \"bp-BucWzB7E\",\n \"title\": \"Exile\",\n \"filename\": \"exile\",\n \"muxPlaybackId\": \"BucWzB7EfewcTzArlX6ttdl00s402gBOqDEAQQ3vc3G2A\",\n \"videoUrl\": \"https://stream.mux.com/BucWzB7EfewcTzArlX6ttdl00s402gBOqDEAQQ3vc3G2A/high.mp4\"\n },\n {\n \"id\": \"bp-RuZt01Xh\",\n \"title\": \"The Way Of The Exile\",\n \"filename\": \"the-way-of-the-exile\",\n \"muxPlaybackId\": \"RuZt01XhYaEAW7D602NITU9w1pYbucteXqQsBI2uw4n9s\",\n \"videoUrl\": \"https://stream.mux.com/RuZt01XhYaEAW7D602NITU9w1pYbucteXqQsBI2uw4n9s/high.mp4\"\n },\n {\n \"id\": \"bp-JiTNkrJp\",\n \"title\": \"Son Of Man\",\n \"filename\": \"son-of-man\",\n \"muxPlaybackId\": \"JiTNkrJpp02MRrTnHXYZ6uTqT3u5M6izLr60248102RgmA\",\n \"videoUrl\": \"https://stream.mux.com/JiTNkrJpp02MRrTnHXYZ6uTqT3u5M6izLr60248102RgmA/high.mp4\"\n },\n {\n \"id\": \"bp-SxFWP5bI\",\n \"title\": \"Generosity\",\n \"filename\": \"generosity\",\n \"muxPlaybackId\": \"SxFWP5bIJgAcZnRdGO0201rWzUhFsLduC5FDKA023ICwNc\",\n \"videoUrl\": \"https://stream.mux.com/SxFWP5bIJgAcZnRdGO0201rWzUhFsLduC5FDKA023ICwNc/high.mp4\"\n },\n {\n \"id\": \"bp-fJX5Tx2I\",\n \"title\": \"Sabbath\",\n \"filename\": \"sabbath\",\n \"muxPlaybackId\": \"fJX5Tx2IfUfQoV4hyMCjwlBj7v124Ny8HRzRvhRQb1A\",\n \"videoUrl\": \"https://stream.mux.com/fJX5Tx2IfUfQoV4hyMCjwlBj7v124Ny8HRzRvhRQb1A/high.mp4\"\n },\n {\n \"id\": \"bp-ZPLUAJxt\",\n \"title\": \"Water Of Life\",\n \"filename\": \"water-of-life\",\n \"muxPlaybackId\": \"ZPLUAJxtrg2amMZGKVq3zRwKegV2xjqDyj2VYOjOGZ8\",\n \"videoUrl\": \"https://stream.mux.com/ZPLUAJxtrg2amMZGKVq3zRwKegV2xjqDyj2VYOjOGZ8/high.mp4\"\n },\n {\n \"id\": \"bp-CeZ7qqeH\",\n \"title\": \"The Test\",\n \"filename\": \"the-test\",\n \"muxPlaybackId\": \"CeZ7qqeH46EAciz93f7Ptsrz7kkeR2Cmg6BIkeDg02zU\",\n \"videoUrl\": \"https://stream.mux.com/CeZ7qqeH46EAciz93f7Ptsrz7kkeR2Cmg6BIkeDg02zU/high.mp4\"\n },\n {\n \"id\": \"bp-LpCn027I\",\n \"title\": \"Eternal Life\",\n \"filename\": \"eternal-life\",\n \"muxPlaybackId\": \"LpCn027Ipl8F73NwHdGgl7NmaR8vZlUG3rmDDzt58HYw\",\n \"videoUrl\": \"https://stream.mux.com/LpCn027Ipl8F73NwHdGgl7NmaR8vZlUG3rmDDzt58HYw/high.mp4\"\n },\n {\n \"id\": \"bp-eZyquSwI\",\n \"title\": \"Blessing And Curse\",\n \"filename\": \"blessing-and-curse\",\n \"muxPlaybackId\": \"eZyquSwIbH8Aw5vsqdWFxDQ3B3AlRhR02kLTp2sEdchE\",\n \"videoUrl\": \"https://stream.mux.com/eZyquSwIbH8Aw5vsqdWFxDQ3B3AlRhR02kLTp2sEdchE/high.mp4\"\n },\n {\n \"id\": \"bp-3hpzxSgY\",\n \"title\": \"The Last Will Be First\",\n \"filename\": \"the-last-will-be-first\",\n \"muxPlaybackId\": \"3hpzxSgYmRsJjgVB8oZavoV3y4S6sV48XUOQ6C02wNFg\",\n \"videoUrl\": \"https://stream.mux.com/3hpzxSgYmRsJjgVB8oZavoV3y4S6sV48XUOQ6C02wNFg/high.mp4\"\n },\n {\n \"id\": \"bp-6gCy4Wao\",\n \"title\": \"Anointing\",\n \"filename\": \"anointing\",\n \"muxPlaybackId\": \"6gCy4WaoAMwMDklh02EiCN4PFXRSmFzakfT4KI57UuJc\",\n \"videoUrl\": \"https://stream.mux.com/6gCy4WaoAMwMDklh02EiCN4PFXRSmFzakfT4KI57UuJc/high.mp4\"\n },\n {\n \"id\": \"bp-SzG1whFf\",\n \"title\": \"The City\",\n \"filename\": \"the-city\",\n \"muxPlaybackId\": \"SzG1whFfR3RzrjKrpRb1nS02RkjWFNaurimuW6SZeK02U\",\n \"videoUrl\": \"https://stream.mux.com/SzG1whFfR3RzrjKrpRb1nS02RkjWFNaurimuW6SZeK02U/high.mp4\"\n },\n {\n \"id\": \"bp-bVT6yHqs\",\n \"title\": \"Chaos Dragon\",\n \"filename\": \"chaos-dragon\",\n \"muxPlaybackId\": \"bVT6yHqsYk00bObQADiMsnaA01QM3sFHkbH8Cj300my7PY\",\n \"videoUrl\": \"https://stream.mux.com/bVT6yHqsYk00bObQADiMsnaA01QM3sFHkbH8Cj300my7PY/high.mp4\"\n },\n {\n \"id\": \"bp-83STGVxt\",\n \"title\": \"Intro To The Sermon On The Mount\",\n \"filename\": \"intro-to-the-sermon-on-the-mount\",\n \"muxPlaybackId\": \"83STGVxtcO01902cUvy00g1SJzT4xju2no7DTh9pCZJvRE\",\n \"videoUrl\": \"https://stream.mux.com/83STGVxtcO01902cUvy00g1SJzT4xju2no7DTh9pCZJvRE/high.mp4\"\n },\n {\n \"id\": \"bp-2zpmXs00\",\n \"title\": \"Wisdom Within Laws About Murder Adultery And Divorce\",\n \"filename\": \"wisdom-within-laws-about-murder-adultery-and-divorce\",\n \"muxPlaybackId\": \"2zpmXs00DUhjxKnmYVBTYpUiLWayRQrkavB01gu6gGbaw\",\n \"videoUrl\": \"https://stream.mux.com/2zpmXs00DUhjxKnmYVBTYpUiLWayRQrkavB01gu6gGbaw/high.mp4\"\n },\n {\n \"id\": \"bp-vjNu00fh\",\n \"title\": \"Wisdom Within Laws About Oaths Retaliation And Enemy Love\",\n \"filename\": \"wisdom-within-laws-about-oaths-retaliation-and-enemy-love\",\n \"muxPlaybackId\": \"vjNu00fhh6VpkYQ9pycVWXhLAv9GbKtH13ZSalwOwKow\",\n \"videoUrl\": \"https://stream.mux.com/vjNu00fhh6VpkYQ9pycVWXhLAv9GbKtH13ZSalwOwKow/high.mp4\"\n },\n {\n \"id\": \"bp-gECIK1hB\",\n \"title\": \"Wisdom In Relationships\",\n \"filename\": \"wisdom-in-relationships\",\n \"muxPlaybackId\": \"gECIK1hB3lBrkd00reyesZtDdVkQWVBl3PVpoBN5UzSo\",\n \"videoUrl\": \"https://stream.mux.com/gECIK1hB3lBrkd00reyesZtDdVkQWVBl3PVpoBN5UzSo/high.mp4\"\n },\n {\n \"id\": \"bp-GQuIQuYE\",\n \"title\": \"The Choice\",\n \"filename\": \"the-choice\",\n \"muxPlaybackId\": \"GQuIQuYEH6IoixgZkMyU2sv8T0100N3022A00QrNmGNvONM\",\n \"videoUrl\": \"https://stream.mux.com/GQuIQuYEH6IoixgZkMyU2sv8T0100N3022A00QrNmGNvONM/high.mp4\"\n },\n {\n \"id\": \"bp-Shmo4jQI\",\n \"title\": \"Biblical Law\",\n \"filename\": \"biblical-law\",\n \"muxPlaybackId\": \"Shmo4jQIFAnFoGwjJ4Ha7XBVWDP4WPdi2Cev8P4BIjI\",\n \"videoUrl\": \"https://stream.mux.com/Shmo4jQIFAnFoGwjJ4Ha7XBVWDP4WPdi2Cev8P4BIjI/high.mp4\"\n },\n {\n \"id\": \"bp-besUIzra\",\n \"title\": \"God\",\n \"filename\": \"god\",\n \"muxPlaybackId\": \"besUIzraM02kEUPHAGjHCuPwxBhiCST1eEtxFJRNmop8\",\n \"videoUrl\": \"https://stream.mux.com/besUIzraM02kEUPHAGjHCuPwxBhiCST1eEtxFJRNmop8/high.mp4\"\n },\n {\n \"id\": \"bp-ZU8eW7qK\",\n \"title\": \"The Wisdom Of Ben Sira\",\n \"filename\": \"the-wisdom-of-ben-sira\",\n \"muxPlaybackId\": \"ZU8eW7qKvfB3012i02r5BEWK9zo17waDhNpwIs6BkO01Q00\",\n \"videoUrl\": \"https://stream.mux.com/ZU8eW7qKvfB3012i02r5BEWK9zo17waDhNpwIs6BkO01Q00/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Heaven and Earth\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/heaven-and-earth/tr:q-65,w-300/heaven-and-earth_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-PIyXuO8F\",\n \"title\": \"Heaven And Earth\",\n \"filename\": \"heaven-and-earth\",\n \"muxPlaybackId\": \"PIyXuO8FLxa9q9ZSSUXHXCc2pJQH8C009pCXKjuwGxNs\",\n \"videoUrl\": \"https://stream.mux.com/PIyXuO8FLxa9q9ZSSUXHXCc2pJQH8C009pCXKjuwGxNs/high.mp4\"\n },\n {\n \"id\": \"bp-fbFyUVvO\",\n \"title\": \"Temple\",\n \"filename\": \"temple\",\n \"muxPlaybackId\": \"fbFyUVvOlniYph02q69XxExdOYQarVmLfgabCkJDzhRI\",\n \"videoUrl\": \"https://stream.mux.com/fbFyUVvOlniYph02q69XxExdOYQarVmLfgabCkJDzhRI/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Torah\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/torah/tr:q-65,w-300/torah_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-FHE7z76d\",\n \"title\": \"The Law\",\n \"filename\": \"the-law\",\n \"muxPlaybackId\": \"FHE7z76dj01EWaD01NhoU5N94l34Te37K02c9J91hwO3Dg\",\n \"videoUrl\": \"https://stream.mux.com/FHE7z76dj01EWaD01NhoU5N94l34Te37K02c9J91hwO3Dg/high.mp4\"\n },\n {\n \"id\": \"bp-OfeVSkoO\",\n \"title\": \"Jesus Fulfills The Law\",\n \"filename\": \"jesus-fulfills-the-law\",\n \"muxPlaybackId\": \"OfeVSkoOnWcqajEKVZ901iTfWeWs3yN01Xr8bWzF004Yvc\",\n \"videoUrl\": \"https://stream.mux.com/OfeVSkoOnWcqajEKVZ901iTfWeWs3yN01Xr8bWzF004Yvc/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Family of God\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/family-of-god/tr:q-65,w-300/family-of-god_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-3UTz1ikN\",\n \"title\": \"Image Of God\",\n \"filename\": \"image-of-god\",\n \"muxPlaybackId\": \"3UTz1ikNqysuVQ95XjY9Cf4GNHbMl3fZg9jrNutSn7M\",\n \"videoUrl\": \"https://stream.mux.com/3UTz1ikNqysuVQ95XjY9Cf4GNHbMl3fZg9jrNutSn7M/high.mp4\"\n },\n {\n \"id\": \"bp-mHZLgFJe\",\n \"title\": \"The New Humanity\",\n \"filename\": \"the-new-humanity\",\n \"muxPlaybackId\": \"mHZLgFJeSEftylHwz4lrEJmntFEfI3p1wRozJLy3M48\",\n \"videoUrl\": \"https://stream.mux.com/mHZLgFJeSEftylHwz4lrEJmntFEfI3p1wRozJLy3M48/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Wisdom\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/wisdom/tr:q-65,w-300/wisdom_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-b00VCMqw\",\n \"title\": \"Tree Of Life\",\n \"filename\": \"tree-of-life\",\n \"muxPlaybackId\": \"b00VCMqwF8myoXmGxgdK02Esqc5U1Cl00sINcntcUeilS00\",\n \"videoUrl\": \"https://stream.mux.com/b00VCMqwF8myoXmGxgdK02Esqc5U1Cl00sINcntcUeilS00/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Sermon on the Mount\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/sermon-on-the-mount/tr:q-65,w-300/sotm_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-Ikf7tTbh\",\n \"title\": \"The Beatitudes\",\n \"filename\": \"the-beatitudes\",\n \"muxPlaybackId\": \"Ikf7tTbhu7Nba75THD00kHPRPX0100aDAEUxHWgj8ozmI4\",\n \"videoUrl\": \"https://stream.mux.com/Ikf7tTbhu7Nba75THD00kHPRPX0100aDAEUxHWgj8ozmI4/high.mp4\"\n },\n {\n \"id\": \"bp-qfikVrPu\",\n \"title\": \"Warnings About Religious Practices\",\n \"filename\": \"warnings-about-religious-practices\",\n \"muxPlaybackId\": \"qfikVrPuNDqwDyNhAK01buX6KtmE9v6h1G1JCOc0201VNo\",\n \"videoUrl\": \"https://stream.mux.com/qfikVrPuNDqwDyNhAK01buX6KtmE9v6h1G1JCOc0201VNo/high.mp4\"\n },\n {\n \"id\": \"bp-Ok02b3Dg\",\n \"title\": \"The Lords Prayer\",\n \"filename\": \"the-lords-prayer\",\n \"muxPlaybackId\": \"Ok02b3DgDhHj1pqIXldDtkGTMrkrygpUlJpxaCzqq6K4\",\n \"videoUrl\": \"https://stream.mux.com/Ok02b3DgDhHj1pqIXldDtkGTMrkrygpUlJpxaCzqq6K4/high.mp4\"\n },\n {\n \"id\": \"bp-U01wiDwh\",\n \"title\": \"Wealth And Worry\",\n \"filename\": \"wealth-and-worry\",\n \"muxPlaybackId\": \"U01wiDwhj602YJPtukuNGOYLYOiWeaTHwFkI3hhEz5CJE\",\n \"videoUrl\": \"https://stream.mux.com/U01wiDwhj602YJPtukuNGOYLYOiWeaTHwFkI3hhEz5CJE/high.mp4\"\n },\n {\n \"id\": \"bp-QitMM45o\",\n \"title\": \"Matthew 53 16 Beatitudes\",\n \"filename\": \"matthew-53-16-beatitudes\",\n \"muxPlaybackId\": \"QitMM45oBYD4omgwwA01NI3hAStz02PyA1LxYPgFJLsFo\",\n \"videoUrl\": \"https://stream.mux.com/QitMM45oBYD4omgwwA01NI3hAStz02PyA1LxYPgFJLsFo/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"How to Read the Bible\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/how-to-read-the-bible/tr:q-65,w-300/httr_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-hRgtUaEh\",\n \"title\": \"What Is The Bible\",\n \"filename\": \"what-is-the-bible\",\n \"muxPlaybackId\": \"hRgtUaEhBl97k3Y3j9GyVG794KP43ULDBu9gL6tGoa8\",\n \"videoUrl\": \"https://stream.mux.com/hRgtUaEhBl97k3Y3j9GyVG794KP43ULDBu9gL6tGoa8/high.mp4\"\n },\n {\n \"id\": \"bp-SPNOVb3w\",\n \"title\": \"The Story Of The Bible\",\n \"filename\": \"the-story-of-the-bible\",\n \"muxPlaybackId\": \"SPNOVb3wBYm9x027k91yQrXN4RzVoufBU6fVB47Q9nI4\",\n \"videoUrl\": \"https://stream.mux.com/SPNOVb3wBYm9x027k91yQrXN4RzVoufBU6fVB47Q9nI4/high.mp4\"\n },\n {\n \"id\": \"bp-H00BPqi2\",\n \"title\": \"Literary Styles\",\n \"filename\": \"literary-styles\",\n \"muxPlaybackId\": \"H00BPqi2gPe7SzlrlqcAmXWSNI02Ofur02H02Gryhtpb594\",\n \"videoUrl\": \"https://stream.mux.com/H00BPqi2gPe7SzlrlqcAmXWSNI02Ofur02H02Gryhtpb594/high.mp4\"\n },\n {\n \"id\": \"bp-uDc7umNj\",\n \"title\": \"Ancient Jewish Meditation Literature\",\n \"filename\": \"ancient-jewish-meditation-literature\",\n \"muxPlaybackId\": \"uDc7umNjwX9ipf2DfB9Jy4x02PRAWnYKbZ6Eb02SMl00O8\",\n \"videoUrl\": \"https://stream.mux.com/uDc7umNjwX9ipf2DfB9Jy4x02PRAWnYKbZ6Eb02SMl00O8/high.mp4\"\n },\n {\n \"id\": \"bp-lbyTtmpg\",\n \"title\": \"Plot\",\n \"filename\": \"plot\",\n \"muxPlaybackId\": \"lbyTtmpgCaaB9VajL9jMCE457CZd8UmEzdasGntd4p8\",\n \"videoUrl\": \"https://stream.mux.com/lbyTtmpgCaaB9VajL9jMCE457CZd8UmEzdasGntd4p8/high.mp4\"\n },\n {\n \"id\": \"bp-UABvu9l0\",\n \"title\": \"Setting\",\n \"filename\": \"setting\",\n \"muxPlaybackId\": \"UABvu9l01T327INE12Bcy022k89nqraIWUKiMIAXkP01ow\",\n \"videoUrl\": \"https://stream.mux.com/UABvu9l01T327INE12Bcy022k89nqraIWUKiMIAXkP01ow/high.mp4\"\n },\n {\n \"id\": \"bp-73YpsKrz\",\n \"title\": \"Design Patterns\",\n \"filename\": \"design-patterns\",\n \"muxPlaybackId\": \"73YpsKrzNVwA7UXIW1z5evRPPssQVwZFZulpoXdCDNw\",\n \"videoUrl\": \"https://stream.mux.com/73YpsKrzNVwA7UXIW1z5evRPPssQVwZFZulpoXdCDNw/high.mp4\"\n },\n {\n \"id\": \"bp-H1Jf9btm\",\n \"title\": \"Poetry\",\n \"filename\": \"poetry\",\n \"muxPlaybackId\": \"H1Jf9btmzRYbrgwLGd9A7iMSMCJCxGUQkHWt202Sq7Zs\",\n \"videoUrl\": \"https://stream.mux.com/H1Jf9btmzRYbrgwLGd9A7iMSMCJCxGUQkHWt202Sq7Zs/high.mp4\"\n },\n {\n \"id\": \"bp-Os00tKl0\",\n \"title\": \"Poetic Metaphor\",\n \"filename\": \"poetic-metaphor\",\n \"muxPlaybackId\": \"Os00tKl02FxKZ00j0000b4NQjipQeJF01FdfZVstNez8mPJGs\",\n \"videoUrl\": \"https://stream.mux.com/Os00tKl02FxKZ00j0000b4NQjipQeJF01FdfZVstNez8mPJGs/high.mp4\"\n },\n {\n \"id\": \"bp-ivpK101T\",\n \"title\": \"The Prophets\",\n \"filename\": \"the-prophets\",\n \"muxPlaybackId\": \"ivpK101TcDCxH016vFvNYP01xoz8qvRMg2pBnwJUD5NoWM\",\n \"videoUrl\": \"https://stream.mux.com/ivpK101TcDCxH016vFvNYP01xoz8qvRMg2pBnwJUD5NoWM/high.mp4\"\n },\n {\n \"id\": \"bp-00rkXk5l\",\n \"title\": \"The Books Of Solomon\",\n \"filename\": \"the-books-of-solomon\",\n \"muxPlaybackId\": \"00rkXk5lXIqEKMAvjYLiF1nnGivbKUFbDam5oLYRaw0100\",\n \"videoUrl\": \"https://stream.mux.com/00rkXk5lXIqEKMAvjYLiF1nnGivbKUFbDam5oLYRaw0100/high.mp4\"\n },\n {\n \"id\": \"bp-nG2ya1Vl\",\n \"title\": \"The Gospel\",\n \"filename\": \"the-gospel\",\n \"muxPlaybackId\": \"nG2ya1Vlm8wktajESzKIH743Uf8lqRxdN400qlVXTknU\",\n \"videoUrl\": \"https://stream.mux.com/nG2ya1Vlm8wktajESzKIH743Uf8lqRxdN400qlVXTknU/high.mp4\"\n },\n {\n \"id\": \"bp-1Mzy6Mq7\",\n \"title\": \"The Parables Of Jesus\",\n \"filename\": \"the-parables-of-jesus\",\n \"muxPlaybackId\": \"1Mzy6Mq7JU3582ylmmsneAK01ebiGVOxRu01029zhPCD7I\",\n \"videoUrl\": \"https://stream.mux.com/1Mzy6Mq7JU3582ylmmsneAK01ebiGVOxRu01029zhPCD7I/high.mp4\"\n },\n {\n \"id\": \"bp-tUFH502z\",\n \"title\": \"Apocalyptic Literature\",\n \"filename\": \"apocalyptic-literature\",\n \"muxPlaybackId\": \"tUFH502znU6ShKPHoNXJBTwC01ffh5zMpMBsCNOmbY7uI\",\n \"videoUrl\": \"https://stream.mux.com/tUFH502znU6ShKPHoNXJBTwC01ffh5zMpMBsCNOmbY7uI/high.mp4\"\n },\n {\n \"id\": \"bp-UhI3Ictg\",\n \"title\": \"Bible Basics Choosing A Translation\",\n \"filename\": \"bible-basics-choosing-a-translation\",\n \"muxPlaybackId\": \"UhI3IctgJ398RWiOTFS3xf63f6wEnGFdMi00IiLvGVKw\",\n \"videoUrl\": \"https://stream.mux.com/UhI3IctgJ398RWiOTFS3xf63f6wEnGFdMi00IiLvGVKw/high.mp4\"\n },\n {\n \"id\": \"bp-6yFvjdVr\",\n \"title\": \"Bible Basics History Of Bible Translations\",\n \"filename\": \"bible-basics-history-of-bible-translations\",\n \"muxPlaybackId\": \"6yFvjdVrxgs87iq9O8nEGrD7IXSafCVsa66LJU01hg7Y\",\n \"videoUrl\": \"https://stream.mux.com/6yFvjdVrxgs87iq9O8nEGrD7IXSafCVsa66LJU01hg7Y/high.mp4\"\n },\n {\n \"id\": \"bp-kU3e6JQ9\",\n \"title\": \"Bible Basics Jesus Of Nazareth\",\n \"filename\": \"bible-basics-jesus-of-nazareth\",\n \"muxPlaybackId\": \"kU3e6JQ9B7e00Af00LX6SakK8jf63HNMhxmlP02Wn02g5s4\",\n \"videoUrl\": \"https://stream.mux.com/kU3e6JQ9B7e00Af00LX6SakK8jf63HNMhxmlP02Wn02g5s4/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Word Studies\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/word-studies/tr:q-65,w-300/word-studies_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-m9B95nhe\",\n \"title\": \"Character\",\n \"filename\": \"character\",\n \"muxPlaybackId\": \"m9B95nheGFZK52dBd802IuTYswvVun0100aRqnM8ZwBGq8\",\n \"videoUrl\": \"https://stream.mux.com/m9B95nheGFZK52dBd802IuTYswvVun0100aRqnM8ZwBGq8/high.mp4\"\n },\n {\n \"id\": \"bp-lNIc8mRL\",\n \"title\": \"Character Insight John The Baptizer\",\n \"filename\": \"character-insight-john-the-baptizer\",\n \"muxPlaybackId\": \"lNIc8mRLzl200UXFQljUKoGZGOt102osVsddMbi9iLblg\",\n \"videoUrl\": \"https://stream.mux.com/lNIc8mRLzl200UXFQljUKoGZGOt102osVsddMbi9iLblg/high.mp4\"\n },\n {\n \"id\": \"bp-XsdrLkix\",\n \"title\": \"Character Insight Elijah\",\n \"filename\": \"character-insight-elijah\",\n \"muxPlaybackId\": \"XsdrLkixrOIQkK01PbqkgunI6lXqrjibwSvkOQxTVHFs\",\n \"videoUrl\": \"https://stream.mux.com/XsdrLkixrOIQkK01PbqkgunI6lXqrjibwSvkOQxTVHFs/high.mp4\"\n },\n {\n \"id\": \"bp-sBUvn02T\",\n \"title\": \"Euangelion Gospel\",\n \"filename\": \"euangelion-gospel\",\n \"muxPlaybackId\": \"sBUvn02TuCwrwreRj2SyRV6RVCX33SUkKteJL7ABolj8\",\n \"videoUrl\": \"https://stream.mux.com/sBUvn02TuCwrwreRj2SyRV6RVCX33SUkKteJL7ABolj8/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/WS_Gospel_Poster.jpg\"\n },\n {\n \"id\": \"bp-W00Hpd1T\",\n \"title\": \"Martus Witness\",\n \"filename\": \"martus-witness\",\n \"muxPlaybackId\": \"W00Hpd1TIzozLLJhuNuHBas6CSvWuMErET9e6OmcWORo\",\n \"videoUrl\": \"https://stream.mux.com/W00Hpd1TIzozLLJhuNuHBas6CSvWuMErET9e6OmcWORo/high.mp4\"\n },\n {\n \"id\": \"bp-fmYgGW00\",\n \"title\": \"Khata Sin\",\n \"filename\": \"khata-sin\",\n \"muxPlaybackId\": \"fmYgGW00ZJ300q3hITLl9CqD1oDakeDhGjDYQe4d01Ht9M\",\n \"videoUrl\": \"https://stream.mux.com/fmYgGW00ZJ300q3hITLl9CqD1oDakeDhGjDYQe4d01Ht9M/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/WS_BadWords01_Poster.jpg_UPDATED.jpg\"\n },\n {\n \"id\": \"bp-A4kS2pMG\",\n \"title\": \"Pesha Transgression\",\n \"filename\": \"pesha-transgression\",\n \"muxPlaybackId\": \"A4kS2pMGUMw9u3gFhUwz8t95RUngVfV9402xe02gPsS8g\",\n \"videoUrl\": \"https://stream.mux.com/A4kS2pMGUMw9u3gFhUwz8t95RUngVfV9402xe02gPsS8g/high.mp4\"\n },\n {\n \"id\": \"bp-i01guEc1\",\n \"title\": \"Avon Iniquity\",\n \"filename\": \"avon-iniquity\",\n \"muxPlaybackId\": \"i01guEc1XR8dxzyNjnEYvlK9zXoA5U01hwGFHp7nKI50200\",\n \"videoUrl\": \"https://stream.mux.com/i01guEc1XR8dxzyNjnEYvlK9zXoA5U01hwGFHp7nKI50200/high.mp4\"\n },\n {\n \"id\": \"bp-heWJy3SA\",\n \"title\": \"Yakhal Hope\",\n \"filename\": \"yakhal-hope\",\n \"muxPlaybackId\": \"heWJy3SAYNWL3Y6hyHe52gqS02NaGMke7wIADb301Xldw\",\n \"videoUrl\": \"https://stream.mux.com/heWJy3SAYNWL3Y6hyHe52gqS02NaGMke7wIADb301Xldw/high.mp4\"\n },\n {\n \"id\": \"bp-AcvvK00F\",\n \"title\": \"Shalom Peace\",\n \"filename\": \"shalom-peace\",\n \"muxPlaybackId\": \"AcvvK00FUODUIzf7YN00BlR8WD9S4102fq5ZltQVPmtqag\",\n \"videoUrl\": \"https://stream.mux.com/AcvvK00FUODUIzf7YN00BlR8WD9S4102fq5ZltQVPmtqag/high.mp4\"\n },\n {\n \"id\": \"bp-xqCSMD5T\",\n \"title\": \"Chara Joy\",\n \"filename\": \"chara-joy\",\n \"muxPlaybackId\": \"xqCSMD5TvEzGWv00wGnDgiqwBP6446r3IaH49Tcycg7w\",\n \"videoUrl\": \"https://stream.mux.com/xqCSMD5TvEzGWv00wGnDgiqwBP6446r3IaH49Tcycg7w/high.mp4\"\n },\n {\n \"id\": \"bp-29r9CF5y\",\n \"title\": \"Agape Love\",\n \"filename\": \"agape-love\",\n \"muxPlaybackId\": \"29r9CF5y4wUm6JRNoDILIcBKULUc01KiKbY4fIU9YV1A\",\n \"videoUrl\": \"https://stream.mux.com/29r9CF5y4wUm6JRNoDILIcBKULUc01KiKbY4fIU9YV1A/high.mp4\"\n },\n {\n \"id\": \"bp-00tiHFX7\",\n \"title\": \"Yhwh Lord\",\n \"filename\": \"yhwh-lord\",\n \"muxPlaybackId\": \"00tiHFX7wUjR9Eoe4RB901qGWnPGdgpsyvi006Xsu5YGEc\",\n \"videoUrl\": \"https://stream.mux.com/00tiHFX7wUjR9Eoe4RB901qGWnPGdgpsyvi006Xsu5YGEc/high.mp4\"\n },\n {\n \"id\": \"bp-02fzcFCk\",\n \"title\": \"Ahavah Love\",\n \"filename\": \"ahavah-love\",\n \"muxPlaybackId\": \"02fzcFCkO02rQYWuNVy45vTqZQ4DsDetXS01Mvy1GWwDgw\",\n \"videoUrl\": \"https://stream.mux.com/02fzcFCkO02rQYWuNVy45vTqZQ4DsDetXS01Mvy1GWwDgw/high.mp4\"\n },\n {\n \"id\": \"bp-Wa3KbP13\",\n \"title\": \"Lev Heart\",\n \"filename\": \"lev-heart\",\n \"muxPlaybackId\": \"Wa3KbP13K005RL00GuHYpY50002UbI00nfYe5MjhiRoa3ba8\",\n \"videoUrl\": \"https://stream.mux.com/Wa3KbP13K005RL00GuHYpY50002UbI00nfYe5MjhiRoa3ba8/high.mp4\"\n },\n {\n \"id\": \"bp-LKioExaK\",\n \"title\": \"Nephesh Soul\",\n \"filename\": \"nephesh-soul\",\n \"muxPlaybackId\": \"LKioExaKEC3c21F17Qz4doyMIwRRI025ZWE9sVgehG9s\",\n \"videoUrl\": \"https://stream.mux.com/LKioExaKEC3c21F17Qz4doyMIwRRI025ZWE9sVgehG9s/high.mp4\"\n },\n {\n \"id\": \"bp-lILQdGL8\",\n \"title\": \"Meod Strength\",\n \"filename\": \"meod-strength\",\n \"muxPlaybackId\": \"lILQdGL8N2Bpmno6jD9l1MSm9901qwC542f00U64AodBU\",\n \"videoUrl\": \"https://stream.mux.com/lILQdGL8N2Bpmno6jD9l1MSm9901qwC542f00U64AodBU/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Insights\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/insights/tr:q-65,w-300/insights_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-qLPJWQy1\",\n \"title\": \"Vocab Insight Nissah Test\",\n \"filename\": \"vocab-insight-nissah-test\",\n \"muxPlaybackId\": \"qLPJWQy1eCn7eVWxrbKnQPkhGtVTZGugWqCbAR01SO4Q\",\n \"videoUrl\": \"https://stream.mux.com/qLPJWQy1eCn7eVWxrbKnQPkhGtVTZGugWqCbAR01SO4Q/high.mp4\"\n },\n {\n \"id\": \"bp-zUef523s\",\n \"title\": \"Vocab Insight Midbar Wilderness\",\n \"filename\": \"vocab-insight-midbar-wilderness\",\n \"muxPlaybackId\": \"zUef523sJdXC01QoyBwgZy2c8hLIFkcW101TP9TYhZgpQ\",\n \"videoUrl\": \"https://stream.mux.com/zUef523sJdXC01QoyBwgZy2c8hLIFkcW101TP9TYhZgpQ/high.mp4\"\n },\n {\n \"id\": \"bp-lY7ItKIL\",\n \"title\": \"Vocab Insight Kopher Ransom\",\n \"filename\": \"vocab-insight-kopher-ransom\",\n \"muxPlaybackId\": \"lY7ItKILwU3KFlGy3zslkP3fwhq6GafoFbJ7AU00oDNE\",\n \"videoUrl\": \"https://stream.mux.com/lY7ItKILwU3KFlGy3zslkP3fwhq6GafoFbJ7AU00oDNE/high.mp4\"\n },\n {\n \"id\": \"bp-rTamJf4n\",\n \"title\": \"Vocab Insight Gaal Redeem\",\n \"filename\": \"vocab-insight-gaal-redeem\",\n \"muxPlaybackId\": \"rTamJf4nGsYZMBM1Whw5ezt402Hg2LjsPol49r6lyxaM\",\n \"videoUrl\": \"https://stream.mux.com/rTamJf4nGsYZMBM1Whw5ezt402Hg2LjsPol49r6lyxaM/high.mp4\"\n },\n {\n \"id\": \"bp-n2cv00EX\",\n \"title\": \"Vocab Insight Avad Serve Work\",\n \"filename\": \"vocab-insight-avad-serve-work\",\n \"muxPlaybackId\": \"n2cv00EX3SbtyvI5UsYQGHVe006wYz3q7f00ZG5uObyVc4\",\n \"videoUrl\": \"https://stream.mux.com/n2cv00EX3SbtyvI5UsYQGHVe006wYz3q7f00ZG5uObyVc4/high.mp4\"\n },\n {\n \"id\": \"bp-02nm3YWi\",\n \"title\": \"Vocab Insight Zakar Remember\",\n \"filename\": \"vocab-insight-zakar-remember\",\n \"muxPlaybackId\": \"02nm3YWiwfE01i94sus1n01qUJ8WcDzyty9ZLKUDnUPYko\",\n \"videoUrl\": \"https://stream.mux.com/02nm3YWiwfE01i94sus1n01qUJ8WcDzyty9ZLKUDnUPYko/high.mp4\"\n },\n {\n \"id\": \"bp-zml25vSh\",\n \"title\": \"Vocab Insight Ot Sign\",\n \"filename\": \"vocab-insight-ot-sign\",\n \"muxPlaybackId\": \"zml25vSh02FE02gxOKkH6CuHhWeApRyiJe0002Cr2fMc01g00\",\n \"videoUrl\": \"https://stream.mux.com/zml25vSh02FE02gxOKkH6CuHhWeApRyiJe0002Cr2fMc01g00/high.mp4\"\n },\n {\n \"id\": \"bp-YVnkHZNb\",\n \"title\": \"Vocab Insight Tseaqah Outcry\",\n \"filename\": \"vocab-insight-tseaqah-outcry\",\n \"muxPlaybackId\": \"YVnkHZNb01HZq5yj2aYz6INP02N7jJ48MvxWchuLizCpc\",\n \"videoUrl\": \"https://stream.mux.com/YVnkHZNb01HZq5yj2aYz6INP02N7jJ48MvxWchuLizCpc/high.mp4\"\n },\n {\n \"id\": \"bp-yTwajq00\",\n \"title\": \"Passage Insight Good Tree Vs Bad Tree\",\n \"filename\": \"passage-insight-good-tree-vs-bad-tree\",\n \"muxPlaybackId\": \"yTwajq00UB2zbSEtYljMj3dsGu7mqA7byiaHtDPy1fJM\",\n \"videoUrl\": \"https://stream.mux.com/yTwajq00UB2zbSEtYljMj3dsGu7mqA7byiaHtDPy1fJM/high.mp4\"\n },\n {\n \"id\": \"bp-JNKuG7jo\",\n \"title\": \"Passage Insight Speck In The Eye\",\n \"filename\": \"passage-insight-speck-in-the-eye\",\n \"muxPlaybackId\": \"JNKuG7jo9dHTDtWtgiNThuld2JS6G83DQmxGxCrcVFQ\",\n \"videoUrl\": \"https://stream.mux.com/JNKuG7jo9dHTDtWtgiNThuld2JS6G83DQmxGxCrcVFQ/high.mp4\"\n },\n {\n \"id\": \"bp-gtHI9Fse\",\n \"title\": \"Vocab Insight Basileia Kingdom\",\n \"filename\": \"vocab-insight-basileia-kingdom\",\n \"muxPlaybackId\": \"gtHI9FseS88blMMuiYOVdnpLwmn1d02f302n6mAZdMd2w\",\n \"videoUrl\": \"https://stream.mux.com/gtHI9FseS88blMMuiYOVdnpLwmn1d02f302n6mAZdMd2w/high.mp4\"\n },\n {\n \"id\": \"bp-ffOmi02v\",\n \"title\": \"Passage Insight Do Not Worry\",\n \"filename\": \"passage-insight-do-not-worry\",\n \"muxPlaybackId\": \"ffOmi02vVF00m53JRcNi97hBXE01HkhiPLg2f501L1Wr4UM\",\n \"videoUrl\": \"https://stream.mux.com/ffOmi02vVF00m53JRcNi97hBXE01HkhiPLg2f501L1Wr4UM/high.mp4\"\n },\n {\n \"id\": \"bp-DS02VBpQ\",\n \"title\": \"Vocab Insight Mammon Wealth\",\n \"filename\": \"vocab-insight-mammon-wealth\",\n \"muxPlaybackId\": \"DS02VBpQtv8rHRN4JIC3UoF00sOf0200yX2TPwny3tOOaKY\",\n \"videoUrl\": \"https://stream.mux.com/DS02VBpQtv8rHRN4JIC3UoF00sOf0200yX2TPwny3tOOaKY/high.mp4\"\n },\n {\n \"id\": \"bp-00fLzm15\",\n \"title\": \"Passage Insight Purpose Of Fasting\",\n \"filename\": \"passage-insight-purpose-of-fasting\",\n \"muxPlaybackId\": \"00fLzm156kyv94Wj017gCjrcGLUk3GBJC4ATboAVl02pJY\",\n \"videoUrl\": \"https://stream.mux.com/00fLzm156kyv94Wj017gCjrcGLUk3GBJC4ATboAVl02pJY/high.mp4\"\n },\n {\n \"id\": \"bp-dqmY1s8x\",\n \"title\": \"Vocab Insight Teleios Whole\",\n \"filename\": \"vocab-insight-teleios-whole\",\n \"muxPlaybackId\": \"dqmY1s8xTmPu4FR43G5bLqqRSG6dHaEEVZ45Xxuwt2o\",\n \"videoUrl\": \"https://stream.mux.com/dqmY1s8xTmPu4FR43G5bLqqRSG6dHaEEVZ45Xxuwt2o/high.mp4\"\n },\n {\n \"id\": \"bp-8HmUbdzV\",\n \"title\": \"Passage Insight Creative Nonviolence\",\n \"filename\": \"passage-insight-creative-nonviolence\",\n \"muxPlaybackId\": \"8HmUbdzVV2vMhPYs1a7ZTFXQwjNRGSzzPmNCUW1SbLU\",\n \"videoUrl\": \"https://stream.mux.com/8HmUbdzVV2vMhPYs1a7ZTFXQwjNRGSzzPmNCUW1SbLU/high.mp4\"\n },\n {\n \"id\": \"bp-MJdn1lzb\",\n \"title\": \"Vocab Insight Gehenna Valley Of Wailing\",\n \"filename\": \"vocab-insight-gehenna-valley-of-wailing\",\n \"muxPlaybackId\": \"MJdn1lzbsTyqAX5ja9jmtqRbRGtdj11Bhbm2B1OGvAg\",\n \"videoUrl\": \"https://stream.mux.com/MJdn1lzbsTyqAX5ja9jmtqRbRGtdj11Bhbm2B1OGvAg/high.mp4\"\n },\n {\n \"id\": \"bp-ulIlrXkH\",\n \"title\": \"Vocab Insight Dikaiosune Righteousness\",\n \"filename\": \"vocab-insight-dikaiosune-righteousness\",\n \"muxPlaybackId\": \"ulIlrXkH02M7bZb2NzOFDyzb9SoWDbI02iJthGS6oFWSs\",\n \"videoUrl\": \"https://stream.mux.com/ulIlrXkH02M7bZb2NzOFDyzb9SoWDbI02iJthGS6oFWSs/high.mp4\"\n },\n {\n \"id\": \"bp-VcInXXv6\",\n \"title\": \"Vocab Insight Torah Instruction\",\n \"filename\": \"vocab-insight-torah-instruction\",\n \"muxPlaybackId\": \"VcInXXv6p01XRTPbG01HHKW901Eqio2er1eWZYTwcAUBOA\",\n \"videoUrl\": \"https://stream.mux.com/VcInXXv6p01XRTPbG01HHKW901Eqio2er1eWZYTwcAUBOA/high.mp4\"\n },\n {\n \"id\": \"bp-tkL3bVdM\",\n \"title\": \"Vocab Insight Dam Blood\",\n \"filename\": \"vocab-insight-dam-blood\",\n \"muxPlaybackId\": \"tkL3bVdMKNYKKmtyDZRRWttU8m8JUtuKQa3yDCvf7d8\",\n \"videoUrl\": \"https://stream.mux.com/tkL3bVdMKNYKKmtyDZRRWttU8m8JUtuKQa3yDCvf7d8/high.mp4\"\n },\n {\n \"id\": \"bp-p6sgzpA7\",\n \"title\": \"Vocab Insight Erets Land\",\n \"filename\": \"vocab-insight-erets-land\",\n \"muxPlaybackId\": \"p6sgzpA7blvqk3DgK58R00YCWFSNYxREh02YvSLpxgO6U\",\n \"videoUrl\": \"https://stream.mux.com/p6sgzpA7blvqk3DgK58R00YCWFSNYxREh02YvSLpxgO6U/high.mp4\"\n },\n {\n \"id\": \"bp-G802Wy6R\",\n \"title\": \"Vocab Insight Tannin Dragon\",\n \"filename\": \"vocab-insight-tannin-dragon\",\n \"muxPlaybackId\": \"G802Wy6Rk02joQ8j00QzgKvguABbdPd538feAKi5JY8OQQ\",\n \"videoUrl\": \"https://stream.mux.com/G802Wy6Rk02joQ8j00QzgKvguABbdPd538feAKi5JY8OQQ/high.mp4\"\n },\n {\n \"id\": \"bp-02DXqA4X\",\n \"title\": \"Vocab Insight Tov Good\",\n \"filename\": \"vocab-insight-tov-good\",\n \"muxPlaybackId\": \"02DXqA4Xg9ZCDfnfDObYpfxPLYNrtjfunEHMJhrkDixk\",\n \"videoUrl\": \"https://stream.mux.com/02DXqA4Xg9ZCDfnfDObYpfxPLYNrtjfunEHMJhrkDixk/high.mp4\"\n },\n {\n \"id\": \"bp-DiauTXFs\",\n \"title\": \"Vocab Insight Ets Tree\",\n \"filename\": \"vocab-insight-ets-tree\",\n \"muxPlaybackId\": \"DiauTXFsa944h6KNpRkVebE008VhfMAY5dLqM02nVtU01g\",\n \"videoUrl\": \"https://stream.mux.com/DiauTXFsa944h6KNpRkVebE008VhfMAY5dLqM02nVtU01g/high.mp4\"\n },\n {\n \"id\": \"bp-beP4J00O\",\n \"title\": \"Vocab Insight Shamayim Skies\",\n \"filename\": \"vocab-insight-shamayim-skies\",\n \"muxPlaybackId\": \"beP4J00OrIRXYpBImN1onbbF003jHoqrhZPwL5Xs02kXU8\",\n \"videoUrl\": \"https://stream.mux.com/beP4J00OrIRXYpBImN1onbbF003jHoqrhZPwL5Xs02kXU8/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Spiritual Beings\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/spiritual-beings/tr:q-65,w-300/spiritual-beings_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-PTRGt1Vg\",\n \"title\": \"Intro To Spiritual Beings\",\n \"filename\": \"intro-to-spiritual-beings\",\n \"muxPlaybackId\": \"PTRGt1VgegLyZHYTaOcXu003Q3BkJZ2Uqh01cOCrzn02pQ\",\n \"videoUrl\": \"https://stream.mux.com/PTRGt1VgegLyZHYTaOcXu003Q3BkJZ2Uqh01cOCrzn02pQ/high.mp4\"\n },\n {\n \"id\": \"bp-BcTDDkHz\",\n \"title\": \"Divine Council\",\n \"filename\": \"divine-council\",\n \"muxPlaybackId\": \"BcTDDkHzOh02jaiw01DPeT69Py01UZdQAA02bH7W00Q880000E\",\n \"videoUrl\": \"https://stream.mux.com/BcTDDkHzOh02jaiw01DPeT69Py01UZdQAA02bH7W00Q880000E/high.mp4\"\n },\n {\n \"id\": \"bp-4008X7dC\",\n \"title\": \"Angels And Cherubim\",\n \"filename\": \"angels-and-cherubim\",\n \"muxPlaybackId\": \"4008X7dCVeYqNkjqlHBfCBqje9YzILCud7r00JG6QIIwI\",\n \"videoUrl\": \"https://stream.mux.com/4008X7dCVeYqNkjqlHBfCBqje9YzILCud7r00JG6QIIwI/high.mp4\"\n },\n {\n \"id\": \"bp-5BHVFSzj\",\n \"title\": \"Angel Of The Lord\",\n \"filename\": \"angel-of-the-lord\",\n \"muxPlaybackId\": \"5BHVFSzjj1qGw7eFFiPFnz202p5PSkTghh3LWOi4dvsk\",\n \"videoUrl\": \"https://stream.mux.com/5BHVFSzjj1qGw7eFFiPFnz202p5PSkTghh3LWOi4dvsk/high.mp4\"\n },\n {\n \"id\": \"bp-wfNFTuM9\",\n \"title\": \"The Satan And Demons\",\n \"filename\": \"the-satan-and-demons\",\n \"muxPlaybackId\": \"wfNFTuM9dhzOfOk8UJmSEBgQcHXXLvATzKw402Fhskik\",\n \"videoUrl\": \"https://stream.mux.com/wfNFTuM9dhzOfOk8UJmSEBgQcHXXLvATzKw402Fhskik/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Character of God\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/character-of-god/tr:q-65,w-300/character-of-god_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-N3AnsNCz\",\n \"title\": \"Elohim\",\n \"filename\": \"elohim\",\n \"muxPlaybackId\": \"N3AnsNCz1OIXI700w5rGO00JX01LmfzoRntluIj9NTH2HI\",\n \"videoUrl\": \"https://stream.mux.com/N3AnsNCz1OIXI700w5rGO00JX01LmfzoRntluIj9NTH2HI/high.mp4\"\n },\n {\n \"id\": \"bp-JpuAhWoj\",\n \"title\": \"Compassion\",\n \"filename\": \"compassion\",\n \"muxPlaybackId\": \"JpuAhWojl2jdvdmGRvMrUnS9NDB1JA8RuoVNw1z4xJk\",\n \"videoUrl\": \"https://stream.mux.com/JpuAhWojl2jdvdmGRvMrUnS9NDB1JA8RuoVNw1z4xJk/high.mp4\"\n },\n {\n \"id\": \"bp-Tkl7o1Xs\",\n \"title\": \"Grace\",\n \"filename\": \"grace\",\n \"muxPlaybackId\": \"Tkl7o1XsC5oPuOUD4eXjzBCkh6KwagG9XQJsjM01300eo\",\n \"videoUrl\": \"https://stream.mux.com/Tkl7o1XsC5oPuOUD4eXjzBCkh6KwagG9XQJsjM01300eo/high.mp4\"\n },\n {\n \"id\": \"bp-2kAHepEr\",\n \"title\": \"Slow To Anger\",\n \"filename\": \"slow-to-anger\",\n \"muxPlaybackId\": \"2kAHepEr200X6njitmKW6uhKRaAvZL3m4CqvEGq6F3nU\",\n \"videoUrl\": \"https://stream.mux.com/2kAHepEr200X6njitmKW6uhKRaAvZL3m4CqvEGq6F3nU/high.mp4\"\n },\n {\n \"id\": \"bp-hpLwKf00\",\n \"title\": \"Loyal Love\",\n \"filename\": \"loyal-love\",\n \"muxPlaybackId\": \"hpLwKf00Sdlgv01Nwk4pjdoq9BLYOlKTXAjD7J1Cbn8AE\",\n \"videoUrl\": \"https://stream.mux.com/hpLwKf00Sdlgv01Nwk4pjdoq9BLYOlKTXAjD7J1Cbn8AE/high.mp4\"\n },\n {\n \"id\": \"bp-gmD02AQL\",\n \"title\": \"Faithful\",\n \"filename\": \"faithful\",\n \"muxPlaybackId\": \"gmD02AQLqIQ008hWiZiSn5p00teQKSEWtz5E01myRidVEjY\",\n \"videoUrl\": \"https://stream.mux.com/gmD02AQLqIQ008hWiZiSn5p00teQKSEWtz5E01myRidVEjY/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Royal Priesthood\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/royal-priesthood/tr:q-65,w-300/royal-priesthood_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-8p4il00W\",\n \"title\": \"Royal Priests Of Eden\",\n \"filename\": \"royal-priests-of-eden\",\n \"muxPlaybackId\": \"8p4il00WolHQf5K3RsK71Y2Q5Pk5VO7XIA3RfjnD6VPc\",\n \"videoUrl\": \"https://stream.mux.com/8p4il00WolHQf5K3RsK71Y2Q5Pk5VO7XIA3RfjnD6VPc/high.mp4\"\n },\n {\n \"id\": \"bp-l00sx7Hz\",\n \"title\": \"Abraham And Melchizedek\",\n \"filename\": \"abraham-and-melchizedek\",\n \"muxPlaybackId\": \"l00sx7HzULLLbB3lpC4TO2VbhjMH8uvR01isJSZKsWSXo\",\n \"videoUrl\": \"https://stream.mux.com/l00sx7HzULLLbB3lpC4TO2VbhjMH8uvR01isJSZKsWSXo/high.mp4\"\n },\n {\n \"id\": \"bp-vjuLLWtw\",\n \"title\": \"Moses And Aaron\",\n \"filename\": \"moses-and-aaron\",\n \"muxPlaybackId\": \"vjuLLWtwtDuA01Tr00H8Ift3tkA7gFnFvfB6R4005IyPus\",\n \"videoUrl\": \"https://stream.mux.com/vjuLLWtwtDuA01Tr00H8Ift3tkA7gFnFvfB6R4005IyPus/high.mp4\"\n },\n {\n \"id\": \"bp-cXHWwLIP\",\n \"title\": \"David The Priestly King\",\n \"filename\": \"david-the-priestly-king\",\n \"muxPlaybackId\": \"cXHWwLIPnwMS8zA1xDjWiuvKBGCQdupU01mCrl84QDV8\",\n \"videoUrl\": \"https://stream.mux.com/cXHWwLIPnwMS8zA1xDjWiuvKBGCQdupU01mCrl84QDV8/high.mp4\"\n },\n {\n \"id\": \"bp-deZeEuI2\",\n \"title\": \"Jesus The Royal Priest\",\n \"filename\": \"jesus-the-royal-priest\",\n \"muxPlaybackId\": \"deZeEuI2k9Os8V015BOttqLQIqskWtXmj3xUv01E02MgPA\",\n \"videoUrl\": \"https://stream.mux.com/deZeEuI2k9Os8V015BOttqLQIqskWtXmj3xUv01E02MgPA/high.mp4\"\n },\n {\n \"id\": \"bp-JdITfnZv\",\n \"title\": \"The Royal Priesthood\",\n \"filename\": \"the-royal-priesthood\",\n \"muxPlaybackId\": \"JdITfnZvu5s3YuSUUWByULbnlsitIBk6701oDuFGg023c\",\n \"videoUrl\": \"https://stream.mux.com/JdITfnZvu5s3YuSUUWByULbnlsitIBk6701oDuFGg023c/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Passover\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/passover/tr:q-65,w-300/passover_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-vkwKpbbG\",\n \"title\": \"What Is Passover\",\n \"filename\": \"what-is-passover\",\n \"muxPlaybackId\": \"vkwKpbbGyDf02COrF7QDK0201Tqv53F00rtf6mhqQ9M9myU\",\n \"videoUrl\": \"https://stream.mux.com/vkwKpbbGyDf02COrF7QDK0201Tqv53F00rtf6mhqQ9M9myU/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"The Shema\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/shema/tr:q-65,w-300/shema_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-Ks1uOCtY\",\n \"title\": \"Shema Listen\",\n \"filename\": \"shema-listen\",\n \"muxPlaybackId\": \"Ks1uOCtYwhtXi02vF4PmkzIQNOv9csiTFp0166cM2Zjks\",\n \"videoUrl\": \"https://stream.mux.com/Ks1uOCtYwhtXi02vF4PmkzIQNOv9csiTFp0166cM2Zjks/high.mp4\",\n \"thumbnailUrl\": \"https://d1bsmz3sdihplr.cloudfront.net/media/Posters%20Download/WS01_Poster01_UPDATED.jpg\"\n }\n ]\n },\n {\n \"name\": \"Deuterocanon\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/deuterocanon/tr:q-65,w-300/deuterocanon_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-3WAGrzrB\",\n \"title\": \"The Deuterocanon Apocrypha Overview\",\n \"filename\": \"the-deuterocanon-apocrypha-overview\",\n \"muxPlaybackId\": \"3WAGrzrB4r101iN7XyfvaaYxFV027gp91kWfcDIn01cQHg\",\n \"videoUrl\": \"https://stream.mux.com/3WAGrzrB4r101iN7XyfvaaYxFV027gp91kWfcDIn01cQHg/high.mp4\"\n },\n {\n \"id\": \"bp-qSQvWGWU\",\n \"title\": \"Tobit\",\n \"filename\": \"tobit\",\n \"muxPlaybackId\": \"qSQvWGWU5pWd13Bhvlup5g1KC01ZkolK7101xR01jtfFcY\",\n \"videoUrl\": \"https://stream.mux.com/qSQvWGWU5pWd13Bhvlup5g1KC01ZkolK7101xR01jtfFcY/high.mp4\"\n },\n {\n \"id\": \"bp-JOlO4O01\",\n \"title\": \"Judith\",\n \"filename\": \"judith\",\n \"muxPlaybackId\": \"JOlO4O01pByVV4J3018vyWOcJiBSKODl5YpGKLTJm924U\",\n \"videoUrl\": \"https://stream.mux.com/JOlO4O01pByVV4J3018vyWOcJiBSKODl5YpGKLTJm924U/high.mp4\"\n },\n {\n \"id\": \"bp-py8CVk4E\",\n \"title\": \"1 Maccabees\",\n \"filename\": \"1-maccabees\",\n \"muxPlaybackId\": \"py8CVk4EblqO2N9q3CUiktYosM1ZxZymX9symLZI00Yc\",\n \"videoUrl\": \"https://stream.mux.com/py8CVk4EblqO2N9q3CUiktYosM1ZxZymX9symLZI00Yc/high.mp4\"\n },\n {\n \"id\": \"bp-YwbgY1wK\",\n \"title\": \"2 Maccabees\",\n \"filename\": \"2-maccabees\",\n \"muxPlaybackId\": \"YwbgY1wKWIP4GGZdTsITtpquMHTj01FGy5nEwFNzUdOI\",\n \"videoUrl\": \"https://stream.mux.com/YwbgY1wKWIP4GGZdTsITtpquMHTj01FGy5nEwFNzUdOI/high.mp4\"\n },\n {\n \"id\": \"bp-vrW8bnYF\",\n \"title\": \"The Wisdom Of Solomon\",\n \"filename\": \"the-wisdom-of-solomon\",\n \"muxPlaybackId\": \"vrW8bnYFUL5Lp601aEs6MQVXS3nBZUAWnXqIZSMEPjvo\",\n \"videoUrl\": \"https://stream.mux.com/vrW8bnYFUL5Lp601aEs6MQVXS3nBZUAWnXqIZSMEPjvo/high.mp4\"\n },\n {\n \"id\": \"bp-yyqbf4nb\",\n \"title\": \"Baruch And The Letter Of Jeremiah\",\n \"filename\": \"baruch-and-the-letter-of-jeremiah\",\n \"muxPlaybackId\": \"yyqbf4nbOu7fZnIjjsHKQEZdpyRy2hyrC2XXpIbb2S4\",\n \"videoUrl\": \"https://stream.mux.com/yyqbf4nbOu7fZnIjjsHKQEZdpyRy2hyrC2XXpIbb2S4/high.mp4\"\n }\n ]\n },\n {\n \"name\": \"Streetlights Remix\",\n \"image\": \"https://ik.imagekit.io/bpweb1/web/media/video-collection-images/streetlights-remix/tr:q-65,w-300/streetlights-remix_16.9.jpg\",\n \"videos\": [\n {\n \"id\": \"bp-ZP01aRPI\",\n \"title\": \"1 3 John Overview Explainer Streetlights Remix\",\n \"filename\": \"1-3-john-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"ZP01aRPIySSK3zsPABtAu7VV01cCvT3yFtVnLDcB1WgsI\",\n \"videoUrl\": \"https://stream.mux.com/ZP01aRPIySSK3zsPABtAu7VV01cCvT3yFtVnLDcB1WgsI/high.mp4\"\n },\n {\n \"id\": \"bp-UQLt012L\",\n \"title\": \"1 Corinthians Overview Explainer Streetlights Remix\",\n \"filename\": \"1-corinthians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"UQLt012LDROSr2IM2qsrgxPPowFTzdi024zcmkWratviY\",\n \"videoUrl\": \"https://stream.mux.com/UQLt012LDROSr2IM2qsrgxPPowFTzdi024zcmkWratviY/high.mp4\"\n },\n {\n \"id\": \"bp-cMQAU3nx\",\n \"title\": \"1 Peter Overview Explainer Streetlights Remix\",\n \"filename\": \"1-peter-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"cMQAU3nxEJemKbLnSFMGvbc1UG700o76cqy2tCTIuOiQ\",\n \"videoUrl\": \"https://stream.mux.com/cMQAU3nxEJemKbLnSFMGvbc1UG700o76cqy2tCTIuOiQ/high.mp4\"\n },\n {\n \"id\": \"bp-Y01wNu7G\",\n \"title\": \"1 Thessalonians Overview Explainer Streetlights Remix\",\n \"filename\": \"1-thessalonians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"Y01wNu7GHv9dFTuOOYChmYIpxtiu9JiIRsBafIBDxAr4\",\n \"videoUrl\": \"https://stream.mux.com/Y01wNu7GHv9dFTuOOYChmYIpxtiu9JiIRsBafIBDxAr4/high.mp4\"\n },\n {\n \"id\": \"bp-B5jsgt5l\",\n \"title\": \"1 Timothy Overview Explainer Streetlights Remix\",\n \"filename\": \"1-timothy-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"B5jsgt5lbQb42Y02FCe00UrXlg41bh6bPqCHjCC3bqKas\",\n \"videoUrl\": \"https://stream.mux.com/B5jsgt5lbQb42Y02FCe00UrXlg41bh6bPqCHjCC3bqKas/high.mp4\"\n },\n {\n \"id\": \"bp-uk02dMSV\",\n \"title\": \"2 Corinthians Overview Explainer Streetlights Remix\",\n \"filename\": \"2-corinthians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"uk02dMSVxeY53gvbAauGvhvFa2r01zCDsNA003ud493vBc\",\n \"videoUrl\": \"https://stream.mux.com/uk02dMSVxeY53gvbAauGvhvFa2r01zCDsNA003ud493vBc/high.mp4\"\n },\n {\n \"id\": \"bp-uNXW5bf2\",\n \"title\": \"2 Peter Overview Explainer Streetlights Remix\",\n \"filename\": \"2-peter-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"uNXW5bf2UC82H9FkAbvltysJ6HIQYb4n3sVkLDOFQnk\",\n \"videoUrl\": \"https://stream.mux.com/uNXW5bf2UC82H9FkAbvltysJ6HIQYb4n3sVkLDOFQnk/high.mp4\"\n },\n {\n \"id\": \"bp-00eLtmUL\",\n \"title\": \"2 Thessalonians Overview Explainer Streetlights Remix\",\n \"filename\": \"2-thessalonians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"00eLtmULNvBlU2P29uWBl3axPEEDM75y8LV1H0143o1sM\",\n \"videoUrl\": \"https://stream.mux.com/00eLtmULNvBlU2P29uWBl3axPEEDM75y8LV1H0143o1sM/high.mp4\"\n },\n {\n \"id\": \"bp-oJNgJecO\",\n \"title\": \"2 Timothy Overview Explainer Streetlights Remix\",\n \"filename\": \"2-timothy-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"oJNgJecOHjye2u400SdFJkZAlZjhnLm8lgYVsiwnkz8I\",\n \"videoUrl\": \"https://stream.mux.com/oJNgJecOHjye2u400SdFJkZAlZjhnLm8lgYVsiwnkz8I/high.mp4\"\n },\n {\n \"id\": \"bp-DYtXWjeU\",\n \"title\": \"Acts Overview Explainer Streetlights Remix\",\n \"filename\": \"acts-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"DYtXWjeUqCmfpdtbEUWkkvm4qJ6y5V16CpoNg73vXWc\",\n \"videoUrl\": \"https://stream.mux.com/DYtXWjeUqCmfpdtbEUWkkvm4qJ6y5V16CpoNg73vXWc/high.mp4\"\n },\n {\n \"id\": \"bp-t53uR01z\",\n \"title\": \"Colossians Overview Explainer Streetlights Remix\",\n \"filename\": \"colossians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"t53uR01z5RH02yvjnlGAzt2HBmaAm3yUeCOrc5T01ntbDk\",\n \"videoUrl\": \"https://stream.mux.com/t53uR01z5RH02yvjnlGAzt2HBmaAm3yUeCOrc5T01ntbDk/high.mp4\"\n },\n {\n \"id\": \"bp-8wLjghYG\",\n \"title\": \"Ephesians Overview Explainer Streetlights Remix\",\n \"filename\": \"ephesians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"8wLjghYGujHDvLiKtZhNnD7ae56dBdYlzDyeiE8CciQ\",\n \"videoUrl\": \"https://stream.mux.com/8wLjghYGujHDvLiKtZhNnD7ae56dBdYlzDyeiE8CciQ/high.mp4\"\n },\n {\n \"id\": \"bp-oo00PYmh\",\n \"title\": \"Galatians Overview Explainer Streetlights Remix\",\n \"filename\": \"galatians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"oo00PYmhnp4zRm02Kl01Vn8aybCMQYx6007H1qX6CB02jsiM\",\n \"videoUrl\": \"https://stream.mux.com/oo00PYmhnp4zRm02Kl01Vn8aybCMQYx6007H1qX6CB02jsiM/high.mp4\"\n },\n {\n \"id\": \"bp-S01PfFSk\",\n \"title\": \"James Overview Explainer Streetlights Remix\",\n \"filename\": \"james-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"S01PfFSkbejUAdg4x02ku3ITbz18zuJ3EiqjIowYKO01UQ\",\n \"videoUrl\": \"https://stream.mux.com/S01PfFSkbejUAdg4x02ku3ITbz18zuJ3EiqjIowYKO01UQ/high.mp4\"\n },\n {\n \"id\": \"bp-sqvltIy1\",\n \"title\": \"Jude Overview Explainer Streetlights Remix\",\n \"filename\": \"jude-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"sqvltIy1NE4sj00yvFdScEoHcsLpXym00TxpHmv4qca5E\",\n \"videoUrl\": \"https://stream.mux.com/sqvltIy1NE4sj00yvFdScEoHcsLpXym00TxpHmv4qca5E/high.mp4\"\n },\n {\n \"id\": \"bp-unQU4sNR\",\n \"title\": \"Matthew Overview Explainer Streetlights Remix\",\n \"filename\": \"matthew-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"unQU4sNR2c1nBB01j023kXWCev7cJkyFaJ3JGcQfdVmYY\",\n \"videoUrl\": \"https://stream.mux.com/unQU4sNR2c1nBB01j023kXWCev7cJkyFaJ3JGcQfdVmYY/high.mp4\"\n },\n {\n \"id\": \"bp-sFIHJbzM\",\n \"title\": \"Philemon Overview Explainer Streetlights Remix\",\n \"filename\": \"philemon-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"sFIHJbzMPeWg00Kjqib6PhaJPWR3qFZ8kTye3j57dvRw\",\n \"videoUrl\": \"https://stream.mux.com/sFIHJbzMPeWg00Kjqib6PhaJPWR3qFZ8kTye3j57dvRw/high.mp4\"\n },\n {\n \"id\": \"bp-kkdx8aw1\",\n \"title\": \"Philippians Overview Explainer Streetlights Remix\",\n \"filename\": \"philippians-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"kkdx8aw1BUYb01o6LFQ700E01rAkMPJ7F399oyfiPgoodk\",\n \"videoUrl\": \"https://stream.mux.com/kkdx8aw1BUYb01o6LFQ700E01rAkMPJ7F399oyfiPgoodk/high.mp4\"\n },\n {\n \"id\": \"bp-02rNlFiV\",\n \"title\": \"Titus Overview Explainer Streetlights Remix\",\n \"filename\": \"titus-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"02rNlFiViJi3U5z00VVl02KSEH3YlIZuuhuXFQkKeKti2E\",\n \"videoUrl\": \"https://stream.mux.com/02rNlFiViJi3U5z00VVl02KSEH3YlIZuuhuXFQkKeKti2E/high.mp4\"\n },\n {\n \"id\": \"bp-9wHhK34D\",\n \"title\": \"Mark Overview Explainer Streetlights Remix\",\n \"filename\": \"mark-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"9wHhK34D2JUubGeaCcHHRSna38O006Crx8bKWNO8Q02Jw\",\n \"videoUrl\": \"https://stream.mux.com/9wHhK34D2JUubGeaCcHHRSna38O006Crx8bKWNO8Q02Jw/high.mp4\"\n },\n {\n \"id\": \"bp-GO9g1dxh\",\n \"title\": \"Revelation Overview Explainer Streetlights Remix\",\n \"filename\": \"revelation-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"GO9g1dxh8sEoAm9Nv2nOBQZONHBNy3b02Di7W7XR5W00M\",\n \"videoUrl\": \"https://stream.mux.com/GO9g1dxh8sEoAm9Nv2nOBQZONHBNy3b02Di7W7XR5W00M/high.mp4\"\n },\n {\n \"id\": \"bp-Sfx8M6Md\",\n \"title\": \"Romans Overview Explainer Streetlights Remix\",\n \"filename\": \"romans-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"Sfx8M6MdNdQ2wce4xp02JZi3xbCvP1pkc1n8PfsArW28\",\n \"videoUrl\": \"https://stream.mux.com/Sfx8M6MdNdQ2wce4xp02JZi3xbCvP1pkc1n8PfsArW28/high.mp4\"\n },\n {\n \"id\": \"bp-nVZQcS9Z\",\n \"title\": \"Hebrews Overview Explainer Streetlights Remix\",\n \"filename\": \"hebrews-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"nVZQcS9ZRJkfQAfn75VDFjEmotU8Q8K001bPqQUj1OdM\",\n \"videoUrl\": \"https://stream.mux.com/nVZQcS9ZRJkfQAfn75VDFjEmotU8Q8K001bPqQUj1OdM/high.mp4\"\n },\n {\n \"id\": \"bp-eWbZcpQU\",\n \"title\": \"The City Theme Video Streetlights Remix\",\n \"filename\": \"the-city-theme-video-streetlights-remix\",\n \"muxPlaybackId\": \"eWbZcpQUKejlXbAwhEYCdKRdN18hdbQB6JWqXMwBhJ8\",\n \"videoUrl\": \"https://stream.mux.com/eWbZcpQUKejlXbAwhEYCdKRdN18hdbQB6JWqXMwBhJ8/high.mp4\"\n },\n {\n \"id\": \"bp-oPGXm01U\",\n \"title\": \"Luke Overview Explainer Streetlights Remix\",\n \"filename\": \"luke-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"oPGXm01Un1tyvhaPVUnAuUQUfV6c00nnetExSB00ZXeVnE\",\n \"videoUrl\": \"https://stream.mux.com/oPGXm01Un1tyvhaPVUnAuUQUfV6c00nnetExSB00ZXeVnE/high.mp4\"\n },\n {\n \"id\": \"bp-26EftW02\",\n \"title\": \"John Overview Explainer Streetlights Remix\",\n \"filename\": \"john-overview-explainer-streetlights-remix\",\n \"muxPlaybackId\": \"26EftW02C9pt6VEVog00feEqFUH6JRQs8wJorA01HN64bs\",\n \"videoUrl\": \"https://stream.mux.com/26EftW02C9pt6VEVog00feEqFUH6JRQs8wJorA01HN64bs/high.mp4\"\n },\n {\n \"id\": \"bp-4BwYj5Yg\",\n \"title\": \"Public Reading Of Scripture Theme Video Streetlights Remix\",\n \"filename\": \"public-reading-of-scripture-theme-video-streetlights-remix\",\n \"muxPlaybackId\": \"4BwYj5YgbboiRjYsZFj3NV3739GPDywXbhVXZ0201S6FE\",\n \"videoUrl\": \"https://stream.mux.com/4BwYj5YgbboiRjYsZFj3NV3739GPDywXbhVXZ0201S6FE/high.mp4\"\n }\n ]\n }\n ]\n}","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFile, ProviderLogos, Plan, PlanPresentation, ProviderCapabilities, IProvider, AuthType } from \"../../interfaces\";\r\nimport { createFile } from \"../../utils\";\r\nimport { parsePath } from \"../../pathUtils\";\r\nimport bibleProjectData from \"./data.json\";\r\nimport { BibleProjectData } from \"./BibleProjectInterfaces\";\r\n\r\n/**\r\n * BibleProject Provider\r\n *\r\n * Path structure:\r\n * / -> list collections\r\n * /{collectionSlug} -> list videos in collection\r\n * /{collectionSlug}/{videoId} -> single video\r\n */\r\nexport class BibleProjectProvider implements IProvider {\r\n readonly id = \"bibleproject\";\r\n readonly name = \"The Bible Project\";\r\n\r\n readonly logos: ProviderLogos = {\r\n light: \"https://static.bibleproject.com/bp-web-components/v0.25.0/bibleproject-logo-mark.svg\",\r\n dark: \"https://static.bibleproject.com/bp-web-components/v0.25.0/bibleproject-logo-mark.svg\"\r\n };\r\n\r\n readonly config: ContentProviderConfig = {\r\n id: \"bibleproject\",\r\n name: \"The Bible Project\",\r\n apiBase: \"https://bibleproject.com\",\r\n oauthBase: \"\",\r\n clientId: \"\",\r\n scopes: [],\r\n endpoints: {\r\n downloads: \"/downloads/\"\r\n }\r\n };\r\n\r\n private data: BibleProjectData = bibleProjectData;\r\n\r\n readonly requiresAuth = false;\r\n readonly authTypes: AuthType[] = [\"none\"];\r\n readonly capabilities: ProviderCapabilities = {\r\n browse: true,\r\n presentations: true,\r\n playlist: true,\r\n instructions: false,\r\n expandedInstructions: false,\r\n mediaLicensing: false\r\n };\r\n\r\n async browse(path?: string | null, _auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n // / -> list all collections\r\n if (depth === 0) {\r\n return this.getCollections();\r\n }\r\n\r\n // /{collectionSlug} -> list videos in collection\r\n if (depth === 1) {\r\n const collectionSlug = segments[0];\r\n return this.getLessonFolders(collectionSlug, path!);\r\n }\r\n\r\n // /{collectionSlug}/{videoId} -> single video file\r\n if (depth === 2) {\r\n const collectionSlug = segments[0];\r\n const videoId = segments[1];\r\n return this.getVideoFile(collectionSlug, videoId);\r\n }\r\n\r\n return [];\r\n }\r\n\r\n private getCollections(): ContentItem[] {\r\n return this.data.collections\r\n .filter(collection => collection.videos.length > 0)\r\n .map(collection => ({\r\n type: \"folder\" as const,\r\n id: this.slugify(collection.name),\r\n title: collection.name,\r\n image: collection.image || undefined,\r\n path: `/${this.slugify(collection.name)}`\r\n }));\r\n }\r\n\r\n private getLessonFolders(collectionSlug: string, currentPath: string): ContentItem[] {\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return [];\r\n\r\n return collection.videos.map(video => ({\r\n type: \"folder\" as const,\r\n id: video.id,\r\n title: video.title,\r\n image: video.thumbnailUrl,\r\n isLeaf: true,\r\n path: `${currentPath}/${video.id}`,\r\n providerData: { videoData: video }\r\n }));\r\n }\r\n\r\n private getVideoFile(collectionSlug: string, videoId: string): ContentItem[] {\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return [];\r\n\r\n const video = collection.videos.find(v => v.id === videoId);\r\n if (!video) return [];\r\n\r\n return [createFile(video.id, video.title, video.videoUrl, { mediaType: \"video\", muxPlaybackId: video.muxPlaybackId })];\r\n }\r\n\r\n async getPresentations(path: string, _auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 1) return null;\r\n\r\n const collectionSlug = segments[0];\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return null;\r\n\r\n // For collection level (depth 1), create a plan with all videos\r\n if (depth === 1) {\r\n const allFiles: ContentFile[] = [];\r\n const presentations: PlanPresentation[] = collection.videos.map(video => {\r\n const file: ContentFile = { type: \"file\", id: video.id, title: video.title, mediaType: \"video\", url: video.videoUrl, image: video.thumbnailUrl, muxPlaybackId: video.muxPlaybackId };\r\n allFiles.push(file);\r\n return { id: video.id, name: video.title, actionType: \"play\" as const, files: [file] };\r\n });\r\n\r\n return { id: this.slugify(collection.name), name: collection.name, image: collection.image || undefined, sections: [{ id: \"videos\", name: \"Videos\", presentations }], allFiles };\r\n }\r\n\r\n // For video level (depth 2, single video), create a simple plan\r\n if (depth === 2) {\r\n const videoId = segments[1];\r\n const video = collection.videos.find(v => v.id === videoId);\r\n if (!video) return null;\r\n\r\n const file: ContentFile = { type: \"file\", id: video.id, title: video.title, mediaType: \"video\", url: video.videoUrl, image: video.thumbnailUrl, muxPlaybackId: video.muxPlaybackId };\r\n return { id: video.id, name: video.title, image: video.thumbnailUrl, sections: [{ id: \"main\", name: \"Content\", presentations: [{ id: video.id, name: video.title, actionType: \"play\", files: [file] }] }], allFiles: [file] };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getPlaylist(path: string, _auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 1) return null;\r\n\r\n const collectionSlug = segments[0];\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return null;\r\n\r\n // For collection level, return all videos\r\n if (depth === 1) {\r\n return collection.videos.map(video => ({ type: \"file\" as const, id: video.id, title: video.title, mediaType: \"video\" as const, url: video.videoUrl, image: video.thumbnailUrl, muxPlaybackId: video.muxPlaybackId }));\r\n }\r\n\r\n // For video level, return the single video\r\n if (depth === 2) {\r\n const videoId = segments[1];\r\n const video = collection.videos.find(v => v.id === videoId);\r\n if (!video) return null;\r\n return [{ type: \"file\", id: video.id, title: video.title, mediaType: \"video\", url: video.videoUrl, image: video.thumbnailUrl, muxPlaybackId: video.muxPlaybackId }];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private slugify(text: string): string {\r\n return text\r\n .toLowerCase()\r\n .replace(/[^a-z0-9]+/g, \"-\")\r\n .replace(/^-|-$/g, \"\");\r\n }\r\n}\r\n","{\n \"collections\": [\n {\n \"name\": \"Elementary\",\n \"folders\": [\n {\n \"id\": \"camp-wilderness-elementary\",\n \"name\": \"Camp Wilderness\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"description\": \"6 Elementary Lessons From The Israelites\",\n \"url\": \"https://highvoltagekids.com/downloads/camp-wilderness-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"camp-wilderness-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"hey-god-elementary\",\n \"name\": \"Hey, God!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"description\": \"6 Elementary Questions From The Life Of Moses\",\n \"url\": \"https://highvoltagekids.com/downloads/hey-god-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"hey-god-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": [\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-intro\",\n \"title\": \"Intro Video\",\n \"mediaType\": \"video\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20Videos/Hey%20God%20-%20Lesson%201%20-%20Intro%20Video%20%28EL%29.mp4\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-wgk-teaching\",\n \"title\": \"WGK - Teaching\",\n \"mediaType\": \"video\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20Videos/Hey%20God%20-%20Lesson%201%20-%20WGK%20-%20Teaching%20%28EL%29.mp4\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-whatchagaddaknow\",\n \"title\": \"Whatchagaddaknow\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Hey%20God%20-%20Lesson%201%20-%20Whatchagaddaknow%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-wgk-trigger\",\n \"title\": \"WGK - Trigger\",\n \"mediaType\": \"video\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20Videos/Hey%20God%20-%20Lesson%201%20-%20WGK%20-%20Trigger%20%28EL%29.mp4\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-game\",\n \"title\": \"Game - M&M Mix-Up\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Game%20-%20M%26M%20Mix-Up.png\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-1\",\n \"title\": \"Bible Story 1\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%201%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-2\",\n \"title\": \"Bible Story 2\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%202%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-3\",\n \"title\": \"Bible Story 3\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%203%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-4\",\n \"title\": \"Bible Story 4\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%204%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-bible-story-5\",\n \"title\": \"Bible Story 5\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Bible%20Story/Hey%20God%20-%20Lesson%201%20-%20Bible%20Story%205%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-power-verse-video\",\n \"title\": \"Power Verse Video\",\n \"mediaType\": \"video\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20Videos/Hey%20God%20-%20Lesson%201%20-%20Power%20Verse%20%28EL%29.mp4\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-power-verse-image\",\n \"title\": \"Power Verse Image\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Hey%20God%20-%20Lesson%201%20-%20Power%20Verse%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-cta-title\",\n \"title\": \"Call To Action - Title\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Call%20To%20Action/Hey%20God%20-%20Lesson%201%20-%20CTA%20-%20Title%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-cta-point-1\",\n \"title\": \"Call To Action - Point 1\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Call%20To%20Action/Hey%20God%20-%20Lesson%201%20-%20CTA%20-%20Point%201%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-cta-point-2\",\n \"title\": \"Call To Action - Point 2\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Call%20To%20Action/Hey%20God%20-%20Lesson%201%20-%20CTA%20-%20Point%202%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-cta-point-3\",\n \"title\": \"Call To Action - Point 3\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/Call%20To%20Action/Hey%20God%20-%20Lesson%201%20-%20CTA%20-%20Point%203%20%28EL%29.jpg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-title\",\n \"title\": \"REWIND - Title\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/Title.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q1\",\n \"title\": \"REWIND - Question 1\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/1.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a1\",\n \"title\": \"REWIND - Answer 1\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/1a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q2\",\n \"title\": \"REWIND - Question 2\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/2.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a2\",\n \"title\": \"REWIND - Answer 2\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/2a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q3\",\n \"title\": \"REWIND - Question 3\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/3.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a3\",\n \"title\": \"REWIND - Answer 3\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/3a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q4\",\n \"title\": \"REWIND - Question 4\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/4.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a4\",\n \"title\": \"REWIND - Answer 4\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/4a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q5\",\n \"title\": \"REWIND - Question 5\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/5.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a5\",\n \"title\": \"REWIND - Answer 5\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/5a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q6\",\n \"title\": \"REWIND - Question 6\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/6.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a6\",\n \"title\": \"REWIND - Answer 6\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/6a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q7\",\n \"title\": \"REWIND - Question 7\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/7.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a7\",\n \"title\": \"REWIND - Answer 7\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/7a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q8\",\n \"title\": \"REWIND - Question 8\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/8.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a8\",\n \"title\": \"REWIND - Answer 8\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/8a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q9\",\n \"title\": \"REWIND - Question 9\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/9.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a9\",\n \"title\": \"REWIND - Answer 9\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/9a.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-q10\",\n \"title\": \"REWIND - Question 10\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/10.jpeg\"\n },\n {\n \"type\": \"file\",\n \"id\": \"hey-god-el-1-rewind-a10\",\n \"title\": \"REWIND - Answer 10\",\n \"mediaType\": \"image\",\n \"url\": \"https://files.churchpdf.com/files/hv/Hey%2BGod%2B-%2BLessons%2B1-3%2B%28EL%29/Lesson%201/Lesson%201%20JPGs/REWIND/10a.jpeg\"\n }\n ]\n },\n {\n \"id\": \"hey-god-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-god-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-god-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-god-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-god-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"family-mechanics-2\",\n \"name\": \"Family Mechanics\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"description\": \"4 Elementary Lessons On Healthy Families\",\n \"url\": \"https://highvoltagekids.com/downloads/family-mechanics-2/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"family-mechanics-2-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-2-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-2-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-2-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"epic-elementary\",\n \"name\": \"EPIC\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/Epic-Elementary-1.png\",\n \"description\": \"6 Elementary Bible Stories That Will Blow Your Mind\",\n \"url\": \"https://highvoltagekids.com/downloads/epic-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"epic-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/Epic-Elementary-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-perfect-present-elementary\",\n \"name\": \"The Perfect Present\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/the-perfect-present.png\",\n \"description\": \"Single Elementary Lesson For Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/the-perfect-present-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-perfect-present-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/the-perfect-present.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-is-water-baptism-elementary\",\n \"name\": \"What Is Water Baptism?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/what-is-water-baptism.png\",\n \"description\": \"Single Elementary Lesson On Baptism\",\n \"url\": \"https://highvoltagekids.com/downloads/what-is-water-baptism-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-is-water-baptism-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/what-is-water-baptism.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"be-different-elementary\",\n \"name\": \"Be Different\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"description\": \"7 Elementary Lessons from Romans 12\",\n \"url\": \"https://highvoltagekids.com/downloads/be-different-elementary/\",\n \"lessonCount\": 7,\n \"lessons\": [\n {\n \"id\": \"be-different-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different-elementary-transparent.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-elementary\",\n \"name\": \"The Night The Jailhouse Rocked\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Elementary-1.png\",\n \"description\": \"3 Elementary Lessons From Paul & Silas’ Night In Prison\",\n \"url\": \"https://highvoltagekids.com/downloads/the-night-the-jailhouse-rocked-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"the-night-the-jailhouse-rocked-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Elementary-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Elementary-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Elementary-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"windows-elementary\",\n \"name\": \"WINDOWS\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows.png\",\n \"description\": \"3 Elementary Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/windows-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"windows-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows.png\",\n \"files\": []\n },\n {\n \"id\": \"windows-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows.png\",\n \"files\": []\n },\n {\n \"id\": \"windows-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-is-a-true-friend-elementary\",\n \"name\": \"What Is A True Friend?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/05/what-is-a-true-friend-3.png\",\n \"description\": \"Elementary Single Lesson on Friendship\",\n \"url\": \"https://highvoltagekids.com/downloads/what-is-a-true-friend-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-is-a-true-friend-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/05/what-is-a-true-friend-3.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"livin-the-sheep-life\",\n \"name\": \"Livin' The Sheep Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"description\": \"6 Elementary Lessons on the 23rd Psalm\",\n \"url\": \"https://highvoltagekids.com/downloads/livin-the-sheep-life/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"livin-the-sheep-life-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-elem.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"a-mothers-love-elementary\",\n \"name\": \"A Mother's Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/a-mothers-love-elementary.png\",\n \"description\": \"Single Elementary Lesson for Mother’s Day\",\n \"url\": \"https://highvoltagekids.com/downloads/a-mothers-love-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"a-mothers-love-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/a-mothers-love-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary\",\n \"name\": \"T.H.I.N.K. Before You Speak\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"description\": \"6 Lessons on the power of words\",\n \"url\": \"https://highvoltagekids.com/downloads/t-h-i-n-k-before-you-speak-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/THINK-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"closed-elementary\",\n \"name\": \"Closed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Closed-3D-Box.png\",\n \"description\": \"Elementary Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/closed-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"closed-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Closed-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"remember-me-elementary\",\n \"name\": \"Remember Me\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Remember-Me-Elementary.png\",\n \"description\": \"Elementary Lesson on Communion\",\n \"url\": \"https://highvoltagekids.com/downloads/remember-me-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"remember-me-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Remember-Me-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"love-god-love-people-elementary\",\n \"name\": \"Love God, Love People\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/love-god-love-people.png\",\n \"description\": \"Elementary Lesson on The Good Samaritan\",\n \"url\": \"https://highvoltagekids.com/downloads/love-god-love-people-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"love-god-love-people-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/love-god-love-people.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"rock-solid-elementary\",\n \"name\": \"Rock Solid\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/12/Rock-Solid-ele.png\",\n \"description\": \"6 Foundational Truths Every Kid Should Know\",\n \"url\": \"https://highvoltagekids.com/downloads/rock-solid-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"rock-solid-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/12/Rock-Solid-ele.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dream-big-2\",\n \"name\": \"Dream BIG\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"description\": \"10 Lessons From Joseph\",\n \"url\": \"https://highvoltagekids.com/downloads/dream-big-2/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"dream-big-2-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-2-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-PRE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"a-way-in-a-manger-elementary\",\n \"name\": \"A Way In A Manger\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/AWIAM-Ele-1.png\",\n \"description\": \"A Single Christmas Lesson\",\n \"url\": \"https://highvoltagekids.com/downloads/a-way-in-a-manger-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"a-way-in-a-manger-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/AWIAM-Ele-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"level-up-elementary\",\n \"name\": \"Level Up\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"description\": \"4 Lessons to elevate our Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/level-up-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"level-up-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"no-name-elementary\",\n \"name\": \"No Name\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"description\": \"6 Lessons from Unnamed Bible Characters\",\n \"url\": \"https://highvoltagekids.com/downloads/no-name-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"no-name-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-ELE-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"forgive-u-elementary\",\n \"name\": \"Forgive U\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"description\": \"5 Lessons on Forgiveness\",\n \"url\": \"https://highvoltagekids.com/downloads/forgive-u-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"forgive-u-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"deal-with-it-elementary\",\n \"name\": \"Deal With It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"description\": \"6 Lessons on Handling Life’s Difficulties\",\n \"url\": \"https://highvoltagekids.com/downloads/deal-with-it-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"deal-with-it-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"get-in-the-game-elementary\",\n \"name\": \"Get In The Game\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Get-in-the-Game-EL.png\",\n \"description\": \"Elementary Lesson on Serving\",\n \"url\": \"https://highvoltagekids.com/downloads/get-in-the-game-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"get-in-the-game-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Get-in-the-Game-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"limitless-elementary\",\n \"name\": \"Limitless\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Elementary.png\",\n \"description\": \"3 Lessons on the Nature of God\",\n \"url\": \"https://highvoltagekids.com/downloads/limitless-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"limitless-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"limitless-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"limitless-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"transformed-elementary\",\n \"name\": \"Transformed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"description\": \"9 Lessons on the Transforming Power of God\",\n \"url\": \"https://highvoltagekids.com/downloads/transformed-elementary/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"transformed-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-price-is-right-elementary\",\n \"name\": \"The Price Is Right\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/12/price-is-right-elementary.png\",\n \"description\": \"Elementary Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/the-price-is-right-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-price-is-right-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/12/price-is-right-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"upside-down-elementary\",\n \"name\": \"Upside Down\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"description\": \"6 Lessons on Spiritual Paradoxes\",\n \"url\": \"https://highvoltagekids.com/downloads/upside-down-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"upside-down-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Up-side-down-.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"christmas-gifts-elementary\",\n \"name\": \"Christmas Gifts\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Elementary.png\",\n \"description\": \"3 Lessons for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/christmas-gifts-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"christmas-gifts-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"christmas-gifts-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"christmas-gifts-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"forgiveness-elementary\",\n \"name\": \"Forgiveness\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"description\": \"5 Lessons on Forgiveness\",\n \"url\": \"https://highvoltagekids.com/downloads/forgiveness-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"forgiveness-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"running-for-your-life-elementary\",\n \"name\": \"Running For Your Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"description\": \"6 Lessons from the Life of David\",\n \"url\": \"https://highvoltagekids.com/downloads/running-for-your-life-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"running-for-your-life-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-Life-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"songs-of-christmas-elementary\",\n \"name\": \"Songs of Christmas\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"description\": \"4 Lessons on the Meaning of Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/songs-of-christmas-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"songs-of-christmas-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"all-elementary\",\n \"name\": \"All\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ALL-3D-Box-EL.png\",\n \"description\": \"3 Lessons on Missions/Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/all-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"all-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ALL-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"all-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ALL-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"all-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ALL-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"famous-last-words-elementary\",\n \"name\": \"Famous Last Words\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"description\": \"4 Lessons on Jesus’ Last Teachings\",\n \"url\": \"https://highvoltagekids.com/downloads/famous-last-words-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"famous-last-words-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Famous-Last-Words.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dont-worry-about-it-elementary\",\n \"name\": \"Don’t Worry About It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"description\": \"5 Lessons about anxiety\",\n \"url\": \"https://highvoltagekids.com/downloads/dont-worry-about-it-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/DWAI-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"wonderfully-made-elementary\",\n \"name\": \"Wonderfully Made\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Wonderfully-Made-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson on Gender Identity\",\n \"url\": \"https://highvoltagekids.com/downloads/wonderfully-made-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"wonderfully-made-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Wonderfully-Made-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"holy-spirit-elementary\",\n \"name\": \"Holy Spirit\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"description\": \"4 Elementary Lessons on the Holy Spirit\",\n \"url\": \"https://highvoltagekids.com/downloads/holy-spirit-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"holy-spirit-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Holy-SPirti-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"teach-us-to-pray-elementary\",\n \"name\": \"Teach Us to Pray\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"description\": \"6 Lessons On The Lord’s Prayer\",\n \"url\": \"https://highvoltagekids.com/downloads/teach-us-to-pray-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/TUTP-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"broken-elementary\",\n \"name\": \"Broken\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"description\": \"4 Lessons on God’s power to heal\",\n \"url\": \"https://highvoltagekids.com/downloads/broken-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"broken-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"turn-the-page-elementary\",\n \"name\": \"Turn the Page\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Turn-the-page-Preschool.png\",\n \"description\": \"Single lesson on overcoming the past\",\n \"url\": \"https://highvoltagekids.com/downloads/turn-the-page-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"turn-the-page-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Turn-the-page-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"healing-2\",\n \"name\": \"Healing\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"description\": \"5 lessons on the Healing Power of God\",\n \"url\": \"https://highvoltagekids.com/downloads/healing-2/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"healing-2-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-2-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-2-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-2-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-2-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"listen-up-elementary\",\n \"name\": \"Listen Up\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Listen-Up-3D-Box-PS.png\",\n \"description\": \"Three Lessons on Listening to the Right Voices\",\n \"url\": \"https://highvoltagekids.com/downloads/listen-up-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"listen-up-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Listen-Up-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dollars-and-sense-elementary\",\n \"name\": \"Dollars And Sense\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Dollars-and-Sense-3D-Box-EL.png\",\n \"description\": \"Three Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/dollars-and-sense-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"dollars-and-sense-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Dollars-and-Sense-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"epic-fail-elementary\",\n \"name\": \"Epic Fail\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Epic-Fail-3D-Box-ELE.png\",\n \"description\": \"Four Lessons from King Saul\",\n \"url\": \"https://highvoltagekids.com/downloads/epic-fail-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"epic-fail-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Epic-Fail-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"priceless-elementary\",\n \"name\": \"Priceless\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Priceless-3D-Box-ELE.png\",\n \"description\": \"Four Lessons from King Saul\",\n \"url\": \"https://highvoltagekids.com/downloads/priceless-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"priceless-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Priceless-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary\",\n \"name\": \"Fruit of the Spirit\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"description\": \"9 Lessons on the Fruit of the Spirit\",\n \"url\": \"https://highvoltagekids.com/downloads/fruit-of-the-spirit-elementary/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/03/FOTS-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"finish-elementary\",\n \"name\": \"Finish\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/Finish-Easter-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/finish-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"finish-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/Finish-Easter-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"who-elementary\",\n \"name\": \"Who\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"description\": \"5 Lessons On the Most Important People In Your Life With God\",\n \"url\": \"https://highvoltagekids.com/downloads/who-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"who-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"who-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"who-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"who-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"who-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Who-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"love-elementary\",\n \"name\": \"Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Love-Elementary.png\",\n \"description\": \"Elementary Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/love-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"love-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/01/Love-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"promises-promises-elementary\",\n \"name\": \"Promises, Promises\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Promises-Promises-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson On God’s Faithfulness\",\n \"url\": \"https://highvoltagekids.com/downloads/promises-promises-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"promises-promises-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Promises-Promises-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"fresh-start-elementary\",\n \"name\": \"Fresh Start\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Fresh-Start-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson For New Year’s Day\",\n \"url\": \"https://highvoltagekids.com/downloads/fresh-start-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"fresh-start-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Fresh-Start-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"church-elementary\",\n \"name\": \"Church\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Church-Elementary.png\",\n \"description\": \"Six Lessons About the Family of God\",\n \"url\": \"https://highvoltagekids.com/downloads/church-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"church-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Church-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"mine-elementary\",\n \"name\": \"Mine!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/11/Mine-Elementary.png\",\n \"description\": \"Elementary Lesson on Sharing\",\n \"url\": \"https://highvoltagekids.com/downloads/mine-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"mine-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/11/Mine-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"christmas-stars-elementary\",\n \"name\": \"Christmas Stars\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/10/Christmas-Stars-Elementary-1.png\",\n \"description\": \"Five Lessons for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/christmas-stars-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"christmas-stars-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/10/Christmas-Stars-Elementary-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"give-thanks-elementary\",\n \"name\": \"Give Thanks\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Give-Thansk-Elementary.png\",\n \"description\": \"Elementary Lesson perfect for Thanksgiving\",\n \"url\": \"https://highvoltagekids.com/downloads/give-thanks-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"give-thanks-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Give-Thansk-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"family-farm-elementary\",\n \"name\": \"Family Farm\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"description\": \"4 Lessons on Planting Healthy Seeds in the Family\",\n \"url\": \"https://highvoltagekids.com/downloads/family-farm-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"family-farm-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Family-Farm.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"just-do-it-elementary\",\n \"name\": \"Just Do It!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"description\": \"6 Lessons from the Commands of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/just-do-it-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"just-do-it-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-DO-it.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"every-soul-matters-to-god-elementary\",\n \"name\": \"Every Soul Matters to God\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ESMTG-3D-Box-EL.png\",\n \"description\": \"3 Lessons On Evangelism And Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/every-soul-matters-to-god-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"every-soul-matters-to-god-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ESMTG-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"every-soul-matters-to-god-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ESMTG-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"every-soul-matters-to-god-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/ESMTG-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"battle-zone-elementary\",\n \"name\": \"Battle Zone\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"description\": \"8 Lessons from the Biggest Battles of the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/battle-zone-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"battle-zone-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Battle-Zone-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-plan-elementary\",\n \"name\": \"Game Plan\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"description\": \"8 Lessons On Following God’s Plans\",\n \"url\": \"https://highvoltagekids.com/downloads/game-plan-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"game-plan-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/06/Game-Plan-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"lets-get-real-elementary\",\n \"name\": \"Let's Get Real!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"description\": \"10 Lessons from Ephesians\",\n \"url\": \"https://highvoltagekids.com/downloads/lets-get-real-elementary/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"lets-get-real-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-elementary-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/05/Lets-get-real-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"money-talk-elementary\",\n \"name\": \"Money Talk$\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Money-Talks.png\",\n \"description\": \"3 Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/money-talk-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"money-talk-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Money-Talks.png\",\n \"files\": []\n },\n {\n \"id\": \"money-talk-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Money-Talks.png\",\n \"files\": []\n },\n {\n \"id\": \"money-talk-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Money-Talks.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"rescue-elementary\",\n \"name\": \"Rescue\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Ele.png\",\n \"description\": \"3 Lessons on Missions/Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/rescue-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"rescue-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Ele.png\",\n \"files\": []\n },\n {\n \"id\": \"rescue-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Ele.png\",\n \"files\": []\n },\n {\n \"id\": \"rescue-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Ele.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"joshua-extreme-hero-elementary\",\n \"name\": \"JOSHUA – Extreme Hero\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"description\": \"9 Lessons on the Life of Joshua\",\n \"url\": \"https://highvoltagekids.com/downloads/joshua-extreme-hero-elementary/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/Josh-Hero-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-over-elementary-easter\",\n \"name\": \"Game Over\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"description\": \"Single Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/game-over-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"game-over-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary\",\n \"name\": \"Hey! Can I Ask You A Question?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"description\": \"4 Lessons from Kids’ Biggest Questions\",\n \"url\": \"https://highvoltagekids.com/downloads/hey-can-i-ask-you-a-question-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/HCIAYAQ-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-table-elementary\",\n \"name\": \"The Table\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"description\": \"6 Lessons From Tables In The Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/the-table-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-table-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Table.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-over-elementary\",\n \"name\": \"Game Over\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"description\": \"8 Lessons From the Bible’s Greatest Comebacks\",\n \"url\": \"https://highvoltagekids.com/downloads/game-over-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"game-over-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Game-Over-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-elementary\",\n \"name\": \"Jonah – A Whale of a Tale\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah.png\",\n \"description\": \"3 Lessons from the book of Jonah\",\n \"url\": \"https://highvoltagekids.com/downloads/jonah-a-whale-of-a-tale-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"jonah-a-whale-of-a-tale-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah.png\",\n \"files\": []\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah.png\",\n \"files\": []\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-rock-elementary\",\n \"name\": \"The Rock\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"description\": \"9 Lessons from the life of Peter\",\n \"url\": \"https://highvoltagekids.com/downloads/the-rock-elementary/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"the-rock-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Rock.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"three-in-one-elementary-single\",\n \"name\": \"Three in One\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Three-In-One-Elementary.png\",\n \"description\": \"Elementary Lesson on “The Trinity”\",\n \"url\": \"https://highvoltagekids.com/downloads/three-in-one-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"three-in-one-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Three-In-One-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"blessed-elementary\",\n \"name\": \"Blessed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"description\": \"6 Lessons about God’s blessings\",\n \"url\": \"https://highvoltagekids.com/downloads/blessed-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"blessed-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Blessed-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"power-promises-elementary\",\n \"name\": \"Power Promises\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"description\": \"6 Lessons from some of God’s most powerful promises\",\n \"url\": \"https://highvoltagekids.com/downloads/power-promises-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"power-promises-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Power-Promises-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"im-in-trouble-elementary\",\n \"name\": \"I’m In Trouble\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"description\": \"8 Lessons About Dealing With Difficulty\",\n \"url\": \"https://highvoltagekids.com/downloads/im-in-trouble-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"im-in-trouble-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Im-In-Trouble-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-if-elementary-christmas\",\n \"name\": \"What if?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/WhatIf-3D-Box-EL.png\",\n \"description\": \"Elementary lesson for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/what-if-elementary-christmas/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-if-elementary-christmas-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/WhatIf-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-amazing-god-diet-elementary-single\",\n \"name\": \"The Amazing GOD Diet\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/TAGD-3D-Box-EL.png\",\n \"description\": \"Elementary Lesson on Putting Good Things In Our Lives\",\n \"url\": \"https://highvoltagekids.com/downloads/the-amazing-god-diet-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-amazing-god-diet-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/TAGD-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"ikisc2-elementary\",\n \"name\": \"IKISC2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/IKISC2-3D-Box-EL.png\",\n \"description\": \"Ten Lessons on the craziest stories in the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/ikisc2-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"ikisc2-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/IKISC2-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-missing-piece-elementary-easter\",\n \"name\": \"The Missing Piece\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Missing-Piece-3D-Box-EL.png\",\n \"description\": \"A Single Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/the-missing-piece-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-missing-piece-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Missing-Piece-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"worship-elementary\",\n \"name\": \"Worship\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Worship-3D-Box-EL.png\",\n \"description\": \"3 Lessons On Experiencing God’s Presence\",\n \"url\": \"https://highvoltagekids.com/downloads/worship-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"worship-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Worship-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"worship-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Worship-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"worship-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Worship-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"tell-me-a-story-elementary-bonus\",\n \"name\": \"Tell Me A Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"description\": \"Elementary Curriculum Bonus\",\n \"url\": \"https://highvoltagekids.com/downloads/tell-me-a-story-elementary-bonus/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"tell-me-a-story-elementary-bonus-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"tell-me-a-story-elementary\",\n \"name\": \"Tell Me A Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"description\": \"Elementary: 6 Lessons on the Parables of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/tell-me-a-story-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"tell-me-a-story-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Tell-Me-A-Story-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"spy-kids-elementary-bonus\",\n \"name\": \"Spy Kids\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/spy-kids.png\",\n \"description\": \"Elementary Curriculum Bonus\",\n \"url\": \"https://highvoltagekids.com/downloads/spy-kids-elementary-bonus/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"spy-kids-elementary-bonus-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/spy-kids.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dont-be-a-downer-elementary-single\",\n \"name\": \"Don’t Be A Downer\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/6.png\",\n \"description\": \"Single Lesson On Being An Encourager\",\n \"url\": \"https://highvoltagekids.com/downloads/dont-be-a-downer-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"dont-be-a-downer-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/6.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"live-like-a-king-elementary\",\n \"name\": \"Live Like A King\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"description\": \"4 Lessons on Mephibosheth\",\n \"url\": \"https://highvoltagekids.com/downloads/live-like-a-king-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"live-like-a-king-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"live-like-a-king-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"live-like-a-king-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"live-like-a-king-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/04/Live-Like-A-Thing-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-forgotten-elementary\",\n \"name\": \"The Forgotten\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/07/the-forgotten.png\",\n \"description\": \"3 Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/the-forgotten-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"the-forgotten-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/07/the-forgotten.png\",\n \"files\": []\n },\n {\n \"id\": \"the-forgotten-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/07/the-forgotten.png\",\n \"files\": []\n },\n {\n \"id\": \"the-forgotten-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/07/the-forgotten.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-big-ten-elementary\",\n \"name\": \"The Big Ten\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2020/12/the-big-ten-1.png\",\n \"description\": \"10 Weeks on The Ten Commandments.\",\n \"url\": \"https://highvoltagekids.com/downloads/the-big-ten-elementary/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-big-ten-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2020/12/the-big-ten-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"come-home-elementary\",\n \"name\": \"Come Home\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"description\": \"4 Lessons from The Prodigal Son\",\n \"url\": \"https://highvoltagekids.com/downloads/come-home-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"come-home-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"files\": []\n },\n {\n \"id\": \"come-home-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"files\": []\n },\n {\n \"id\": \"come-home-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"files\": []\n },\n {\n \"id\": \"come-home-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/come-home.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"you-matter-elementary-single\",\n \"name\": \"You Matter\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/You-Matter-3D-Box.png\",\n \"description\": \"Single Lesson on Self-Esteem\",\n \"url\": \"https://highvoltagekids.com/downloads/you-matter-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"you-matter-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/You-Matter-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"surprise-elementary-single\",\n \"name\": \"Surprise!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/02/7.png\",\n \"description\": \"Single lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/surprise-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"surprise-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/02/7.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"spy-kids-elementary\",\n \"name\": \"Spy Kids\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"description\": \"6 Lessons on the Book of Daniel\",\n \"url\": \"https://highvoltagekids.com/downloads/spy-kids-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"spy-kids-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"spy-kids-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/01/Spy-Kids-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"life-is-a-highway-elementary\",\n \"name\": \"Life is A Highway\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"description\": \"6 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/life-is-a-highway-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"life-is-a-highway-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"life-is-a-highway-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Life-Is-A-Highway-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jesus-is-worth-it-elementary\",\n \"name\": \"Jesus Is Worth It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-worth-it.png\",\n \"description\": \"3 Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/jesus-is-worth-it-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"jesus-is-worth-it-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-worth-it.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-worth-it-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-worth-it.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-worth-it-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-worth-it.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"noah-elementary\",\n \"name\": \"Noah\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Noah.png\",\n \"description\": \"3 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/noah-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"noah-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Noah.png\",\n \"files\": []\n },\n {\n \"id\": \"noah-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Noah.png\",\n \"files\": []\n },\n {\n \"id\": \"noah-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Noah.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"living-large-elementary\",\n \"name\": \"Living Large\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"description\": \"4 Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/living-large-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"living-large-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"files\": []\n },\n {\n \"id\": \"living-large-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"files\": []\n },\n {\n \"id\": \"living-large-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"files\": []\n },\n {\n \"id\": \"living-large-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Living-Large.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"no-fear-elementary-single\",\n \"name\": \"No Fear\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/No-Fear-3D-Box-EL.png\",\n \"description\": \"Single Lesson on Fear\",\n \"url\": \"https://highvoltagekids.com/downloads/no-fear-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"no-fear-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/No-Fear-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-garden-elementary\",\n \"name\": \"The Garden\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"description\": \"4 Lessons on Adam & Eve\",\n \"url\": \"https://highvoltagekids.com/downloads/the-garden-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"the-garden-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-garden-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-garden-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"files\": []\n },\n {\n \"id\": \"the-garden-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/12/the-garden-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"money-matters-elementary-single\",\n \"name\": \"Money Matters\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/Money-Matters-3D-Box.png\",\n \"description\": \"Single Lesson on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/money-matters-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"money-matters-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/Money-Matters-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jesus-is-elementary-christmas\",\n \"name\": \"Jesus Is...\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"description\": \"6 Lessons For Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/jesus-is-elementary-christmas/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-elementary-christmas-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/10/Jesus-Is-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"giant-elementary\",\n \"name\": \"Giant\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"description\": \"6 Lessons on David & Goliath\",\n \"url\": \"https://highvoltagekids.com/downloads/giant-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"giant-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"giant-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/GIANT-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"stand-out-elementary\",\n \"name\": \"Stand Out\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/06/Stand-Out-3D-Box.png\",\n \"description\": \"3 Lessons on the Book of Titus\",\n \"url\": \"https://highvoltagekids.com/downloads/stand-out-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"stand-out-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/06/Stand-Out-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"stand-out-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/06/Stand-Out-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"stand-out-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/06/Stand-Out-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"easter-believe-it-or-not-elementary-easter\",\n \"name\": \"Easter - Believe It or Not\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/02/22Believe-It-or-Not22-Easter-Lesson-1.png\",\n \"description\": \"Single Lesson\",\n \"url\": \"https://highvoltagekids.com/downloads/easter-believe-it-or-not-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"easter-believe-it-or-not-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/02/22Believe-It-or-Not22-Easter-Lesson-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-god-father-elementary-single-fathers-day\",\n \"name\": \"The GOD-Father\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Godfather-3D-Box.png\",\n \"description\": \"Single Lesson For Father's Day\",\n \"url\": \"https://highvoltagekids.com/downloads/the-god-father-elementary-single-fathers-day/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-god-father-elementary-single-fathers-day-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Godfather-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"yolo-elementary\",\n \"name\": \"Y.O.L.O.\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"description\": \"5 Lessons on the Life of Esther\",\n \"url\": \"https://highvoltagekids.com/downloads/yolo-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"yolo-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n },\n {\n \"id\": \"yolo-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n },\n {\n \"id\": \"yolo-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n },\n {\n \"id\": \"yolo-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n },\n {\n \"id\": \"yolo-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Yolo.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"never-forget-elementary\",\n \"name\": \"Never Forget\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"description\": \"8 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/never-forget-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"never-forget-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"never-forget-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/09/Never-Forget-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dangerous-road-ahead-elementary\",\n \"name\": \"Dangerous Road Ahead\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Dangerous-Road.png\",\n \"description\": \"3 Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/dangerous-road-ahead-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"dangerous-road-ahead-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Dangerous-Road.png\",\n \"files\": []\n },\n {\n \"id\": \"dangerous-road-ahead-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Dangerous-Road.png\",\n \"files\": []\n },\n {\n \"id\": \"dangerous-road-ahead-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Dangerous-Road.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"give-thanks-elementary-thanksgiving\",\n \"name\": \"Give Thanks\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Old-Give-Thanks-3D-Box-EL.png\",\n \"description\": \"Single Lesson For Thanksgiving\",\n \"url\": \"https://highvoltagekids.com/downloads/give-thanks-elementary-thanksgiving/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"give-thanks-elementary-thanksgiving-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/04/Old-Give-Thanks-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"watch-your-mouth-elementary-single\",\n \"name\": \"Watch Your Mouth\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/Watch-Your-Mouth-3D-Box.png\",\n \"description\": \"Single Lesson\",\n \"url\": \"https://highvoltagekids.com/downloads/watch-your-mouth-elementary-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"watch-your-mouth-elementary-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/Watch-Your-Mouth-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"ouch-elementary\",\n \"name\": \"Ouch\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"description\": \"6 Lessons from the Sermon on the Mount\",\n \"url\": \"https://highvoltagekids.com/downloads/ouch-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"ouch-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n },\n {\n \"id\": \"ouch-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Ouch.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"bugs-elementary\",\n \"name\": \"Bugs\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"description\": \"6 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/bugs-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"bugs-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n },\n {\n \"id\": \"bugs-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/3.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"emotions-elementary\",\n \"name\": \"Emotions\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"description\": \"6 Lessons From the Life of David\",\n \"url\": \"https://highvoltagekids.com/downloads/emotions-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"emotions-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"emotions-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/Emotions-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"elisha-elementary\",\n \"name\": \"Elisha\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"description\": \"8 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/elisha-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"elisha-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"elisha-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/ELISHA-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"prison-break-elementary\",\n \"name\": \"Prison Break\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"description\": \"5 Lessons on Jailbreaks From the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/prison-break-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"prison-break-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n },\n {\n \"id\": \"prison-break-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n },\n {\n \"id\": \"prison-break-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n },\n {\n \"id\": \"prison-break-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n },\n {\n \"id\": \"prison-break-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Prison-Break-3D-Box-2.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"soul-food-elementary\",\n \"name\": \"Soul Food\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"description\": \"7 Lessons for a Healthy Christian Life\",\n \"url\": \"https://highvoltagekids.com/downloads/soul-food-elementary/\",\n \"lessonCount\": 7,\n \"lessons\": [\n {\n \"id\": \"soul-food-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"soul-food-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/04/Soul-Food-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"how-2-elementary\",\n \"name\": \"How 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"description\": \"8 Lessons From Apostle Paul\",\n \"url\": \"https://highvoltagekids.com/downloads/how-2-elementary/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"how-2-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-2-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-2-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"instant-elementary-easter\",\n \"name\": \"Instant\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Instant-3D-Box.png\",\n \"description\": \"Single Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/instant-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"instant-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Instant-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"animal-tales-elementary\",\n \"name\": \"Animal Tales\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"description\": \"6 Lessons From Animals in the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/animal-tales-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"animal-tales-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n },\n {\n \"id\": \"animal-tales-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/5-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"joseph-living-the-dream-elementary\",\n \"name\": \"Joseph, Living The Dream\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"description\": \"10 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/joseph-living-the-dream-elementary/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"joseph-living-the-dream-elementary-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/JOSEPH-Living-The-Dream-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-real-christmas-story-elementary\",\n \"name\": \"The REAL Christmas Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"description\": \"6 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/the-real-christmas-story-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-real-christmas-story-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/REAL-Christmas-Story-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"open-the-door-elementary\",\n \"name\": \"Open The Door\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Open-The-Door-3D-Box.png\",\n \"description\": \"3 Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/open-the-door-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"open-the-door-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Open-The-Door-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"open-the-door-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Open-The-Door-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"open-the-door-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Open-The-Door-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"its-a-miracle-elementary\",\n \"name\": \"It's A Miracle\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"description\": \"6 Lessons on Miracles of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/its-a-miracle-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"its-a-miracle-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"its-a-miracle-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Its-A-Miracle-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"on-a-mission-elementary\",\n \"name\": \"On A Mission\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"description\": \"5 Lessons on Jesus' Mission\",\n \"url\": \"https://highvoltagekids.com/downloads/on-a-mission-elementary/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"on-a-mission-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"on-a-mission-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"on-a-mission-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"on-a-mission-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"on-a-mission-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/On-A-Mission-3D-BOX.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"say-whaaaat-elementary\",\n \"name\": \"Say Whaaaat?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"description\": \"6 Lessons on the Radical Statements of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/say-whaaaat-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"say-whaaaat-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"say-whaaaat-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/Say-Whaaat-3D-BOX.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"picture-this-elementary-easter\",\n \"name\": \"Picture This!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Picture-This-3D-Box.png\",\n \"description\": \"Single Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/picture-this-elementary-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"picture-this-elementary-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/07/Picture-This-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary\",\n \"name\": \"Jesus Is For Everyone\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"description\": \"6 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/jesus-is-for-everyone-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"jesus-is-for-everyone-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/02/Jesus-Is-For-Everyone-3D-BOX.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary\",\n \"name\": \"24: A Day That Saved The World\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"description\": \"6 Lesson Easter Series\",\n \"url\": \"https://highvoltagekids.com/downloads/24-a-day-that-saved-the-world-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n },\n {\n \"id\": \"24-a-day-that-saved-the-world-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/3-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"questions-questions-questions-elementary\",\n \"name\": \"Questions, Questions, Questions\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"description\": \"6 Lessons on Questions Jesus Asked\",\n \"url\": \"https://highvoltagekids.com/downloads/questions-questions-questions-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"questions-questions-questions-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n },\n {\n \"id\": \"questions-questions-questions-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/11/QQQ-3D-BOX.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"alien-kids-elementary\",\n \"name\": \"Alien Kids\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"description\": \"6 Lessons on Living Out of This World\",\n \"url\": \"https://highvoltagekids.com/downloads/alien-kids-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"alien-kids-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n },\n {\n \"id\": \"alien-kids-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/4-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-bridge-elementary\",\n \"name\": \"The Bridge\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Bridge.png\",\n \"description\": \"3 Lessons on Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/the-bridge-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"the-bridge-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Bridge.png\",\n \"files\": []\n },\n {\n \"id\": \"the-bridge-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Bridge.png\",\n \"files\": []\n },\n {\n \"id\": \"the-bridge-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Bridge.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"3-questions-elementary\",\n \"name\": \"3 Questions\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/2-1.png\",\n \"description\": \"3 Lessons from Galatians\",\n \"url\": \"https://highvoltagekids.com/downloads/3-questions-elementary/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"3-questions-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/2-1.png\",\n \"files\": []\n },\n {\n \"id\": \"3-questions-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/2-1.png\",\n \"files\": []\n },\n {\n \"id\": \"3-questions-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/2-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"moses-ordinary-hero-elementary\",\n \"name\": \"MOSES, Ordinary Hero\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"description\": \"12 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/moses-ordinary-hero-elementary/\",\n \"lessonCount\": 12,\n \"lessons\": [\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-11\",\n \"name\": \"Lesson 11\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"moses-ordinary-hero-elementary-lesson-12\",\n \"name\": \"Lesson 12\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/MOSES-Ordinary-Hero-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-stewardship-pyramid-elementary\",\n \"name\": \"The Stewardship Pyramid\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"description\": \"4 Lessons\",\n \"url\": \"https://highvoltagekids.com/downloads/the-stewardship-pyramid-elementary/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"the-stewardship-pyramid-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"files\": []\n },\n {\n \"id\": \"the-stewardship-pyramid-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"files\": []\n },\n {\n \"id\": \"the-stewardship-pyramid-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"files\": []\n },\n {\n \"id\": \"the-stewardship-pyramid-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Steward.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary\",\n \"name\": \"Crazy Little Thing Called Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"description\": \"6 Lessons From First John\",\n \"url\": \"https://highvoltagekids.com/downloads/crazy-little-thing-called-love-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n },\n {\n \"id\": \"crazy-little-thing-called-love-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/11/4.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary\",\n \"name\": \"The Lord Is My Shepherd\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"description\": \"6 Lessons From Psalm 23\",\n \"url\": \"https://highvoltagekids.com/downloads/the-lord-is-my-shepherd-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-lord-is-my-shepherd-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/The-Lord-Is-My-Shepherd-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary\",\n \"name\": \"How To Ruin Your Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"description\": \"6 Lessons on Avoiding Mistakes\",\n \"url\": \"https://highvoltagekids.com/downloads/how-to-ruin-your-life-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"how-to-ruin-your-life-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/How-to-Ruin-Your-Life-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary\",\n \"name\": \"I Know It Sounds Crazy, But It's True!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"description\": \"6 Lessons on the Wildest Bible Stories\",\n \"url\": \"https://highvoltagekids.com/downloads/i-know-it-sounds-crazy-but-its-true-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"i-know-it-sounds-crazy-but-its-true-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2017/11/IKISC-1-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-new-normal-elementary\",\n \"name\": \"The New Normal\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"description\": \"6 Lessons on the Book of Ephesians\",\n \"url\": \"https://highvoltagekids.com/downloads/the-new-normal-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-new-normal-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"the-new-normal-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2016/12/New-Normal-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"god-speaks-elementary\",\n \"name\": \"God Speaks\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"description\": \"6 Lessons on Hearing God's Voice\",\n \"url\": \"https://highvoltagekids.com/downloads/god-speaks-elementary/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"god-speaks-elementary-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n },\n {\n \"id\": \"god-speaks-elementary-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2019/01/God-Speaks-3D-Box.png\",\n \"files\": []\n }\n ]\n }\n ]\n },\n {\n \"name\": \"Preschool\",\n \"folders\": [\n {\n \"id\": \"camp-wilderness-preschool\",\n \"name\": \"Camp Wilderness\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"description\": \"6 Preschool Lessons From The Israelites\",\n \"url\": \"https://highvoltagekids.com/downloads/camp-wilderness-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"camp-wilderness-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"camp-wilderness-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2026/01/Camp-Wilderness-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"hey-god-preschool\",\n \"name\": \"Hey, God!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Preschool.png\",\n \"description\": \"6 Preschool Questions From The Life Of Moses\",\n \"url\": \"https://highvoltagekids.com/downloads/hey-god-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"hey-god-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/11/Hey-God-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"family-mechanics\",\n \"name\": \"Family Mechanics\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"description\": \"4 Preschool Lessons On Healthy Families\",\n \"url\": \"https://highvoltagekids.com/downloads/family-mechanics/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"family-mechanics-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"family-mechanics-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/10/Family-Mechanics-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"epic-preschool\",\n \"name\": \"EPIC\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/Epic-Preschool-1-1.png\",\n \"description\": \"6 Preschool Bible Stories That Will Blow Your Mind\",\n \"url\": \"https://highvoltagekids.com/downloads/epic-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"epic-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/Epic-Preschool-1-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-perfect-present-preschool\",\n \"name\": \"The Perfect Present\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/the-perfect-present.png\",\n \"description\": \"Single Preschool Lesson For Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/the-perfect-present-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-perfect-present-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/the-perfect-present.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-is-water-baptism-preschool\",\n \"name\": \"What Is Water Baptism?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/what-is-water-baptism.png\",\n \"description\": \"Single Preschool Lesson On Baptism\",\n \"url\": \"https://highvoltagekids.com/downloads/what-is-water-baptism-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-is-water-baptism-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/09/what-is-water-baptism.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"be-different-preschool\",\n \"name\": \"Be Different\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"description\": \"7 Preschool Lessons from Romans 12\",\n \"url\": \"https://highvoltagekids.com/downloads/be-different-preschool/\",\n \"lessonCount\": 7,\n \"lessons\": [\n {\n \"id\": \"be-different-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n },\n {\n \"id\": \"be-different-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/07/be-different.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-preschool\",\n \"name\": \"The Night The Jailhouse Rocked\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Preschool.png\",\n \"description\": \"3 Preschool Lessons From Paul & Silas’ Night In Prison\",\n \"url\": \"https://highvoltagekids.com/downloads/the-night-the-jailhouse-rocked-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"the-night-the-jailhouse-rocked-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"the-night-the-jailhouse-rocked-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/The-Night-The-Jailhouse-Rocked-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"windows-preschool\",\n \"name\": \"WINDOWS\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows-1.png\",\n \"description\": \"3 Preschool Lessons on Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/windows-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"windows-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows-1.png\",\n \"files\": []\n },\n {\n \"id\": \"windows-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows-1.png\",\n \"files\": []\n },\n {\n \"id\": \"windows-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/06/windows-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-is-a-true-friend-preschool\",\n \"name\": \"What Is A True Friend?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/05/what-is-a-true-friend-2.png\",\n \"description\": \"Preschool Single Lesson on Friendship\",\n \"url\": \"https://highvoltagekids.com/downloads/what-is-a-true-friend-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-is-a-true-friend-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/05/what-is-a-true-friend-2.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"livin-the-sheep-life-2\",\n \"name\": \"Livin' The Sheep Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"description\": \"6 Preschool Lessons on the 23rd Psalm\",\n \"url\": \"https://highvoltagekids.com/downloads/livin-the-sheep-life-2/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"livin-the-sheep-life-2-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n },\n {\n \"id\": \"livin-the-sheep-life-2-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/04/sheep-life-pre.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"a-mothers-love-preschool\",\n \"name\": \"A Mother's Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/a-mothers-love-preschool.png\",\n \"description\": \"Single Preschool Lesson for Mother’s Day\",\n \"url\": \"https://highvoltagekids.com/downloads/a-mothers-love-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"a-mothers-love-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/a-mothers-love-preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool\",\n \"name\": \"T.H.I.N.K. Before You Speak\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"description\": \"6 Lessons on the power of words\",\n \"url\": \"https://highvoltagekids.com/downloads/t-h-i-n-k-before-you-speak-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"t-h-i-n-k-before-you-speak-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/02/TBYS-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"closed-preschool\",\n \"name\": \"Closed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Closed-3D-Box.png\",\n \"description\": \"Preschool Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/closed-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"closed-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Closed-3D-Box.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"remember-me-preschool\",\n \"name\": \"Remember Me\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Remember-Me-Elementary.png\",\n \"description\": \"Preschool Lesson on Communion\",\n \"url\": \"https://highvoltagekids.com/downloads/remember-me-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"remember-me-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2025/03/Remember-Me-Elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"rock-solid-preschool\",\n \"name\": \"Rock Solid\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/12/Rock-Solid-PS.png\",\n \"description\": \"6 Foundational Truths Every Kid Should Know\",\n \"url\": \"https://highvoltagekids.com/downloads/rock-solid-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"rock-solid-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/12/Rock-Solid-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dream-big\",\n \"name\": \"Dream BIG\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"description\": \"10 Lessons From Joseph\",\n \"url\": \"https://highvoltagekids.com/downloads/dream-big/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"dream-big-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n },\n {\n \"id\": \"dream-big-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/10/Dream-Big-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"a-way-in-a-manger-preschool\",\n \"name\": \"A Way In A Manger\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/AWIAM-Pre-1.png\",\n \"description\": \"A Single Christmas Lesson\",\n \"url\": \"https://highvoltagekids.com/downloads/a-way-in-a-manger-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"a-way-in-a-manger-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/09/AWIAM-Pre-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"level-up-preschool\",\n \"name\": \"Level Up\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"description\": \"4 Lessons to elevate our Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/level-up-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"level-up-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"level-up-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/08/Level-Up-Pre.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"no-name-preschool\",\n \"name\": \"No Name\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"description\": \"6 Lessons from Unnamed Bible Characters\",\n \"url\": \"https://highvoltagekids.com/downloads/no-name-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"no-name-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n },\n {\n \"id\": \"no-name-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/07/No-Name-Pre.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"forgive-u-preschool\",\n \"name\": \"Forgive U\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"description\": \"5 Lessons on Forgiveness\",\n \"url\": \"https://highvoltagekids.com/downloads/forgive-u-preschool/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"forgive-u-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n },\n {\n \"id\": \"forgive-u-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/05/Forgive-U-PRE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"deal-with-it-preschool\",\n \"name\": \"Deal With It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"description\": \"6 Lessons on Handling Life’s Difficulties\",\n \"url\": \"https://highvoltagekids.com/downloads/deal-with-it-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"deal-with-it-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"deal-with-it-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Deal-With-It-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"get-in-the-game-preschool\",\n \"name\": \"Get In The Game\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Get-in-the-Game-PS.png\",\n \"description\": \"Preschool Lesson on Serving\",\n \"url\": \"https://highvoltagekids.com/downloads/get-in-the-game-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"get-in-the-game-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/04/Get-in-the-Game-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"limitless-preschool\",\n \"name\": \"Limitless\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Preschool.png\",\n \"description\": \"3 Lessons on the Nature of God\",\n \"url\": \"https://highvoltagekids.com/downloads/limitless-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"limitless-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"limitless-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"limitless-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/03/Limtless-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"transformed-preschool\",\n \"name\": \"Transformed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"description\": \"9 Lessons on the Transforming Power of God\",\n \"url\": \"https://highvoltagekids.com/downloads/transformed-preschool/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"transformed-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"transformed-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Transformed-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-price-is-right-preschool\",\n \"name\": \"The Price Is Right\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/12/price-is-right-elementary.png\",\n \"description\": \"Preschool Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/the-price-is-right-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-price-is-right-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/12/price-is-right-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"upside-down-preschool\",\n \"name\": \"Upside Down\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"description\": \"6 Lessons on Spiritual Paradoxes\",\n \"url\": \"https://highvoltagekids.com/downloads/upside-down-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"upside-down-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n },\n {\n \"id\": \"upside-down-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/UPSide.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"christmas-gifts-preschool\",\n \"name\": \"Christmas Gifts\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Preschool.png\",\n \"description\": \"3 Lessons for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/christmas-gifts-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"christmas-gifts-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"christmas-gifts-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"christmas-gifts-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Gifts-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"forgiveness-preschool\",\n \"name\": \"Forgiveness\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"description\": \"5 Lessons on Forgiveness\",\n \"url\": \"https://highvoltagekids.com/downloads/forgiveness-preschool/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"forgiveness-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"forgiveness-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Forgiveness-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"running-for-your-life-preschool\",\n \"name\": \"Running For Your Life\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"description\": \"6 Lessons from the Life of David\",\n \"url\": \"https://highvoltagekids.com/downloads/running-for-your-life-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"running-for-your-life-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"running-for-your-life-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Running-for-life-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"songs-of-christmas-preschool\",\n \"name\": \"Songs of Christmas\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"description\": \"4 Lessons on the Meaning of Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/songs-of-christmas-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"songs-of-christmas-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"songs-of-christmas-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Songs-Of-Christmas-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"all-preschool\",\n \"name\": \"All\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/All-Preschool.png\",\n \"description\": \"3 Lessons on Missions/Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/all-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"all-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/All-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"all-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/All-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"all-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/All-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"famous-last-words-preschool\",\n \"name\": \"Famous Last Words\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"description\": \"4 Lessons on Jesus’ Last Teachings\",\n \"url\": \"https://highvoltagekids.com/downloads/famous-last-words-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"famous-last-words-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"files\": []\n },\n {\n \"id\": \"famous-last-words-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/price-is-right-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dont-worry-about-it-preschool\",\n \"name\": \"Don’t Worry About It\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"description\": \"5 Lessons about anxiety\",\n \"url\": \"https://highvoltagekids.com/downloads/dont-worry-about-it-preschool/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"dont-worry-about-it-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dont-Worry-About-It-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"wonderfully-made-preschool\",\n \"name\": \"Wonderfully Made\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Wonderfully-Made-Preschool.png\",\n \"description\": \"Preschool Lesson on Gender Identity\",\n \"url\": \"https://highvoltagekids.com/downloads/wonderfully-made-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"wonderfully-made-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Wonderfully-Made-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"holy-spirit-preschool\",\n \"name\": \"Holy Spirit\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"description\": \"4 Preschool Lessons on the Holy Spirit\",\n \"url\": \"https://highvoltagekids.com/downloads/holy-spirit-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"holy-spirit-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"holy-spirit-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Holy-Spirit-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"teach-us-to-pray-preschool\",\n \"name\": \"Teach Us to Pray\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"description\": \"6 Lessons On The Lord’s Prayer\",\n \"url\": \"https://highvoltagekids.com/downloads/teach-us-to-pray-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"teach-us-to-pray-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/06/Teach-Us-To-Pray-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"broken-preschool\",\n \"name\": \"Broken\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"description\": \"4 Lessons on God’s power to heal\",\n \"url\": \"https://highvoltagekids.com/downloads/broken-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"broken-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"broken-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Broken-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"turn-the-page-preschool\",\n \"name\": \"Turn the Page\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Turn-the-page-elementary.png\",\n \"description\": \"Single lesson on overcoming the past\",\n \"url\": \"https://highvoltagekids.com/downloads/turn-the-page-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"turn-the-page-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Turn-the-page-elementary.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"healing\",\n \"name\": \"Healing\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"description\": \"5 lessons on the Healing Power of God\",\n \"url\": \"https://highvoltagekids.com/downloads/healing/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"healing-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n },\n {\n \"id\": \"healing-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/Healing-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"listen-up-preschool\",\n \"name\": \"Listen Up\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Listen-Up-3D-Box-ELE.png\",\n \"description\": \"Three Lessons on Listening to the Right Voices\",\n \"url\": \"https://highvoltagekids.com/downloads/listen-up-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"listen-up-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Listen-Up-3D-Box-ELE.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"dollars-and-sense-preschool\",\n \"name\": \"Dollars And Sense\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dollars-and-Sense-Preschool.png\",\n \"description\": \"Three Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/dollars-and-sense-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"dollars-and-sense-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Dollars-and-Sense-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"epic-fail-preschool\",\n \"name\": \"Epic Fail\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Epic-Fail-3D-Box-PS.png\",\n \"description\": \"Four Lessons from King Saul\",\n \"url\": \"https://highvoltagekids.com/downloads/epic-fail-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"epic-fail-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Epic-Fail-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"priceless-preschool\",\n \"name\": \"Priceless\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Priceless-3D-Box-PS.png\",\n \"description\": \"Four Lessons from King Saul\",\n \"url\": \"https://highvoltagekids.com/downloads/priceless-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"priceless-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Priceless-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool\",\n \"name\": \"Fruit of the Spirit\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"description\": \"9 Lessons on the Fruit of the Spirit\",\n \"url\": \"https://highvoltagekids.com/downloads/fruit-of-the-spirit-preschool/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"fruit-of-the-spirit-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Fruit-of-the-Spirit-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"finish-preschool\",\n \"name\": \"Finish\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/Finish-Easter-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/finish-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"finish-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2021/03/Finish-Easter-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"who-preschool\",\n \"name\": \"Who\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"description\": \"5 Lessons On the Most Important People In Your Life With God\",\n \"url\": \"https://highvoltagekids.com/downloads/who-preschool/\",\n \"lessonCount\": 5,\n \"lessons\": [\n {\n \"id\": \"who-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"who-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"who-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"who-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"who-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Who-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"love-preschool\",\n \"name\": \"Love\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/LOVE-Easter-3D-Box-PS.png\",\n \"description\": \"Preschool Lesson for Easter\",\n \"url\": \"https://highvoltagekids.com/downloads/love-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"love-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/LOVE-Easter-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"promises-promises-preschool\",\n \"name\": \"Promises, Promises\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Promises-Promises-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson On God’s Faithfulness\",\n \"url\": \"https://highvoltagekids.com/downloads/promises-promises-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"promises-promises-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Promises-Promises-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"fresh-start-preschool\",\n \"name\": \"Fresh Start\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Fresh-Start-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson For New Year’s Day\",\n \"url\": \"https://highvoltagekids.com/downloads/fresh-start-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"fresh-start-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/12/Fresh-Start-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"church-preschool\",\n \"name\": \"Church\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Church-3D-Box-PS.png\",\n \"description\": \"Six Lessons About the Family of God\",\n \"url\": \"https://highvoltagekids.com/downloads/church-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"church-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Church-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"mine-preschool\",\n \"name\": \"Mine!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Mine-3D-Box-PS.png\",\n \"description\": \"Preschool Lesson on Sharing\",\n \"url\": \"https://highvoltagekids.com/downloads/mine-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"mine-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Mine-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"christmas-stars-preschool\",\n \"name\": \"Christmas Stars\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Stars-3D-Box-PS.png\",\n \"description\": \"Five Lessons for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/christmas-stars-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"christmas-stars-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Christmas-Stars-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"give-thanks-preschool\",\n \"name\": \"Give Thanks\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Give-Thanks-Preschool.png\",\n \"description\": \"Preschool Lesson perfect for Thanksgiving\",\n \"url\": \"https://highvoltagekids.com/downloads/give-thanks-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"give-thanks-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/09/Give-Thanks-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"family-farm-preschool\",\n \"name\": \"Family Farm\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"description\": \"4 Lessons on Planting Healthy Seeds in the Family\",\n \"url\": \"https://highvoltagekids.com/downloads/family-farm-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"family-farm-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"family-farm-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Family-Farm-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"just-do-it-preschool\",\n \"name\": \"Just Do It!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"description\": \"6 Lessons from the Commands of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/just-do-it-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"just-do-it-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"just-do-it-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Just-Do-It-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"every-soul-matters-to-god-preschool\",\n \"name\": \"Every Soul Matters to God\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Every-Soul-Matters-To-God-Preschool.png\",\n \"description\": \"3 Lessons On Evangelism And Missions\",\n \"url\": \"https://highvoltagekids.com/downloads/every-soul-matters-to-god-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"every-soul-matters-to-god-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Every-Soul-Matters-To-God-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"every-soul-matters-to-god-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Every-Soul-Matters-To-God-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"every-soul-matters-to-god-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Every-Soul-Matters-To-God-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"battle-zone-preschool\",\n \"name\": \"Battle Zone\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"description\": \"8 Lessons from the Biggest Battles of the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/battle-zone-preschool/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"battle-zone-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"battle-zone-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Battle-Zone-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-plan-preschool\",\n \"name\": \"Game Plan\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"description\": \"8 Lessons On Following God’s Plans\",\n \"url\": \"https://highvoltagekids.com/downloads/game-plan-preschool/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"game-plan-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"game-plan-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Game-Plan-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"lets-get-real-preschool\",\n \"name\": \"Let's Get Real!\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"description\": \"10 Lessons from Ephesians\",\n \"url\": \"https://highvoltagekids.com/downloads/lets-get-real-preschool/\",\n \"lessonCount\": 10,\n \"lessons\": [\n {\n \"id\": \"lets-get-real-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n },\n {\n \"id\": \"lets-get-real-preschool-lesson-10\",\n \"name\": \"Lesson 10\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/5.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"money-talk-preschool\",\n \"name\": \"Money Talk$\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Lets-Get-Real-3D-Box-PS.png\",\n \"description\": \"3 Lessons on Stewardship\",\n \"url\": \"https://highvoltagekids.com/downloads/money-talk-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"money-talk-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Lets-Get-Real-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"money-talk-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Lets-Get-Real-3D-Box-PS.png\",\n \"files\": []\n },\n {\n \"id\": \"money-talk-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Lets-Get-Real-3D-Box-PS.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"rescue-preschool\",\n \"name\": \"Rescue\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Preschool.png\",\n \"description\": \"3 Lessons on Missions/Evangelism\",\n \"url\": \"https://highvoltagekids.com/downloads/rescue-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"rescue-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"rescue-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"rescue-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Rescue-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"joshua-extreme-hero-preschool\",\n \"name\": \"JOSHUA – Extreme Hero\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"description\": \"9 Lessons on the Life of Joshua\",\n \"url\": \"https://highvoltagekids.com/downloads/joshua-extreme-hero-preschool/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n },\n {\n \"id\": \"joshua-extreme-hero-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Josh-X.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-over-preschool-easter\",\n \"name\": \"Game Over\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"description\": \"Single Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/game-over-preschool-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"game-over-preschool-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool\",\n \"name\": \"Hey! Can I Ask You A Question?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"description\": \"4 Lessons from Kids’ Biggest Questions\",\n \"url\": \"https://highvoltagekids.com/downloads/hey-can-i-ask-you-a-question-preschool/\",\n \"lessonCount\": 4,\n \"lessons\": [\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"files\": []\n },\n {\n \"id\": \"hey-can-i-ask-you-a-question-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Hey.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-table-preschool\",\n \"name\": \"The Table\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"description\": \"6 Lessons From Tables In The Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/the-table-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"the-table-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n },\n {\n \"id\": \"the-table-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Table.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"game-over-preschool\",\n \"name\": \"Game Over\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"description\": \"8 Lessons From the Bible’s Greatest Comebacks\",\n \"url\": \"https://highvoltagekids.com/downloads/game-over-preschool/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"game-over-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n },\n {\n \"id\": \"game-over-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Game-Over.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-preschool\",\n \"name\": \"Jonah – A Whale of a Tale\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah-2.png\",\n \"description\": \"3 Lessons from the book of Jonah\",\n \"url\": \"https://highvoltagekids.com/downloads/jonah-a-whale-of-a-tale-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"jonah-a-whale-of-a-tale-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah-2.png\",\n \"files\": []\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah-2.png\",\n \"files\": []\n },\n {\n \"id\": \"jonah-a-whale-of-a-tale-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/Jonah-2.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-rock-preschool\",\n \"name\": \"The Rock\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"description\": \"9 Lessons from the life of Peter\",\n \"url\": \"https://highvoltagekids.com/downloads/the-rock-preschool/\",\n \"lessonCount\": 9,\n \"lessons\": [\n {\n \"id\": \"the-rock-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n },\n {\n \"id\": \"the-rock-preschool-lesson-9\",\n \"name\": \"Lesson 9\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2018/06/The-Rock.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"three-in-one-preschool-single\",\n \"name\": \"Three in One\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Three-In-One-Preschool.png\",\n \"description\": \"Preschool Lesson on “The Trinity”\",\n \"url\": \"https://highvoltagekids.com/downloads/three-in-one-preschool-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"three-in-one-preschool-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2024/01/Three-In-One-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"blessed-preschool\",\n \"name\": \"Blessed\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"description\": \"6 Lessons about God’s blessings\",\n \"url\": \"https://highvoltagekids.com/downloads/blessed-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"blessed-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"blessed-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/10/Blessed-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"power-promises-preschool\",\n \"name\": \"Power Promises\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"description\": \"6 Lessons from some of God’s most powerful promises\",\n \"url\": \"https://highvoltagekids.com/downloads/power-promises-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"power-promises-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"power-promises-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Power-Promises-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"im-in-trouble-preschool\",\n \"name\": \"I’m In Trouble\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"description\": \"8 Lessons About Dealing With Difficulty\",\n \"url\": \"https://highvoltagekids.com/downloads/im-in-trouble-preschool/\",\n \"lessonCount\": 8,\n \"lessons\": [\n {\n \"id\": \"im-in-trouble-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-7\",\n \"name\": \"Lesson 7\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"im-in-trouble-preschool-lesson-8\",\n \"name\": \"Lesson 8\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Im-In-Trouble-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"what-if-preschool-christmas\",\n \"name\": \"What if?\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/WhatIf-3D-Box-EL.png\",\n \"description\": \"Preschool lesson for Christmas\",\n \"url\": \"https://highvoltagekids.com/downloads/what-if-preschool-christmas/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"what-if-preschool-christmas-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/WhatIf-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-amazing-god-diet-preschool-single\",\n \"name\": \"The Amazing GOD Diet\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/TAGD-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson on Putting Good Things In Our Lives\",\n \"url\": \"https://highvoltagekids.com/downloads/the-amazing-god-diet-preschool-single/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-amazing-god-diet-preschool-single-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/TAGD-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"ikisc2-preschool\",\n \"name\": \"IKISC2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/I-Know-It-Sounds-Crazy-But-Its-True-Vol-2-Preschool.png\",\n \"description\": \"Ten Lessons on the craziest stories in the Bible\",\n \"url\": \"https://highvoltagekids.com/downloads/ikisc2-preschool/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"ikisc2-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/05/I-Know-It-Sounds-Crazy-But-Its-True-Vol-2-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"the-missing-piece-preschool-easter\",\n \"name\": \"The Missing Piece\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Missing-Piece-3D-Box-EL.png\",\n \"description\": \"Preschool Lesson for EASTER\",\n \"url\": \"https://highvoltagekids.com/downloads/the-missing-piece-preschool-easter/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"the-missing-piece-preschool-easter-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2023/07/Missing-Piece-3D-Box-EL.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"worship-preschool\",\n \"name\": \"Worship\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Worship-Preschool-1.png\",\n \"description\": \"3 Lessons On Experiencing God’s Presence\",\n \"url\": \"https://highvoltagekids.com/downloads/worship-preschool/\",\n \"lessonCount\": 3,\n \"lessons\": [\n {\n \"id\": \"worship-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Worship-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"worship-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Worship-Preschool-1.png\",\n \"files\": []\n },\n {\n \"id\": \"worship-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Worship-Preschool-1.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"tell-me-a-story-preschool\",\n \"name\": \"Tell Me A Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"description\": \"Preschool: 6 Lessons on the Parables of Jesus\",\n \"url\": \"https://highvoltagekids.com/downloads/tell-me-a-story-preschool/\",\n \"lessonCount\": 6,\n \"lessons\": [\n {\n \"id\": \"tell-me-a-story-preschool-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-2\",\n \"name\": \"Lesson 2\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-3\",\n \"name\": \"Lesson 3\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-4\",\n \"name\": \"Lesson 4\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-5\",\n \"name\": \"Lesson 5\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n },\n {\n \"id\": \"tell-me-a-story-preschool-lesson-6\",\n \"name\": \"Lesson 6\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n }\n ]\n },\n {\n \"id\": \"tell-me-a-story-preschool-bonus\",\n \"name\": \"Tell Me A Story\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"description\": \"Preschool Curriculum Bonus\",\n \"url\": \"https://highvoltagekids.com/downloads/tell-me-a-story-preschool-bonus/\",\n \"lessonCount\": 1,\n \"lessons\": [\n {\n \"id\": \"tell-me-a-story-preschool-bonus-lesson-1\",\n \"name\": \"Lesson 1\",\n \"image\": \"https://highvoltagekids.com/wp-content/uploads/2022/03/Tell-Me-A-Story-Preschool.png\",\n \"files\": []\n }\n ]\n }\n ]\n }\n ]\n}","import { ContentProviderConfig, ContentProviderAuthData, ContentItem, ContentFile, ProviderLogos, Plan, PlanSection, PlanPresentation, ProviderCapabilities, Instructions, InstructionItem, IProvider, AuthType } from \"../../interfaces\";\r\nimport { createFile } from \"../../utils\";\r\nimport { parsePath } from \"../../pathUtils\";\r\nimport highVoltageData from \"./data.json\";\r\nimport { HighVoltageData } from \"./HighVoltageKidsInterfaces\";\r\n\r\n/**\r\n * HighVoltageKids Provider\r\n *\r\n * Path structure:\r\n * / -> list collections (Elementary, Preschool)\r\n * /{collectionSlug} -> list studies\r\n * /{collectionSlug}/{studyId} -> list lessons\r\n * /{collectionSlug}/{studyId}/{lessonId} -> lesson files (leaf)\r\n */\r\nexport class HighVoltageKidsProvider implements IProvider {\r\n readonly id = \"highvoltagekids\";\r\n readonly name = \"High Voltage Kids\";\r\n\r\n readonly logos: ProviderLogos = {\r\n light: \"https://highvoltagekids.com/wp-content/uploads/2023/10/logo-300x300-1.webp\",\r\n dark: \"https://highvoltagekids.com/wp-content/uploads/2023/10/logo-300x300-1.webp\"\r\n };\r\n\r\n readonly config: ContentProviderConfig = {\r\n id: \"highvoltagekids\",\r\n name: \"High Voltage Kids\",\r\n apiBase: \"https://highvoltagekids.com\",\r\n oauthBase: \"\",\r\n clientId: \"\",\r\n scopes: [],\r\n endpoints: {\r\n downloads: \"/membership-downloads/\"\r\n }\r\n };\r\n\r\n private data: HighVoltageData = highVoltageData;\r\n\r\n readonly requiresAuth = false;\r\n readonly authTypes: AuthType[] = [\"none\"];\r\n readonly capabilities: ProviderCapabilities = {\r\n browse: true,\r\n presentations: true,\r\n playlist: true,\r\n instructions: false,\r\n expandedInstructions: true,\r\n mediaLicensing: false\r\n };\r\n\r\n async browse(path?: string | null, _auth?: ContentProviderAuthData | null): Promise<ContentItem[]> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n // / -> list all collections\r\n if (depth === 0) {\r\n return this.getCollections();\r\n }\r\n\r\n // /{collectionSlug} -> list studies\r\n if (depth === 1) {\r\n const collectionSlug = segments[0];\r\n return this.getStudyFolders(collectionSlug, path!);\r\n }\r\n\r\n // /{collectionSlug}/{studyId} -> list lessons\r\n if (depth === 2) {\r\n const collectionSlug = segments[0];\r\n const studyId = segments[1];\r\n return this.getLessonFolders(collectionSlug, studyId, path!);\r\n }\r\n\r\n // /{collectionSlug}/{studyId}/{lessonId} -> lesson files\r\n if (depth === 3) {\r\n const collectionSlug = segments[0];\r\n const studyId = segments[1];\r\n const lessonId = segments[2];\r\n return this.getLessonFiles(collectionSlug, studyId, lessonId);\r\n }\r\n\r\n return [];\r\n }\r\n\r\n private getCollections(): ContentItem[] {\r\n return this.data.collections\r\n .filter(collection => collection.folders.length > 0)\r\n .map(collection => ({\r\n type: \"folder\" as const,\r\n id: this.slugify(collection.name),\r\n title: collection.name,\r\n path: `/${this.slugify(collection.name)}`\r\n }));\r\n }\r\n\r\n private getStudyFolders(collectionSlug: string, currentPath: string): ContentItem[] {\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return [];\r\n\r\n return collection.folders.map(study => ({\r\n type: \"folder\" as const,\r\n id: study.id,\r\n title: study.name,\r\n image: study.image || undefined,\r\n path: `${currentPath}/${study.id}`,\r\n providerData: { studyData: study }\r\n }));\r\n }\r\n\r\n private getLessonFolders(collectionSlug: string, studyId: string, currentPath: string): ContentItem[] {\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return [];\r\n\r\n const study = collection.folders.find(s => s.id === studyId);\r\n if (!study) return [];\r\n\r\n return study.lessons.map(lesson => ({\r\n type: \"folder\" as const,\r\n id: lesson.id,\r\n title: lesson.name,\r\n image: lesson.image || undefined,\r\n isLeaf: true,\r\n path: `${currentPath}/${lesson.id}`,\r\n providerData: { lessonData: lesson, studyName: study.name }\r\n }));\r\n }\r\n\r\n private getLessonFiles(collectionSlug: string, studyId: string, lessonId: string): ContentItem[] {\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return [];\r\n\r\n const study = collection.folders.find(s => s.id === studyId);\r\n if (!study) return [];\r\n\r\n const lesson = study.lessons.find(l => l.id === lessonId);\r\n if (!lesson?.files) return [];\r\n\r\n return lesson.files.map(file => createFile(file.id, file.title, file.url, { mediaType: file.mediaType as \"video\" | \"image\" }));\r\n }\r\n\r\n async getPresentations(path: string, _auth?: ContentProviderAuthData | null): Promise<Plan | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 2) return null;\r\n\r\n const collectionSlug = segments[0];\r\n const studyId = segments[1];\r\n\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return null;\r\n\r\n const study = collection.folders.find(s => s.id === studyId);\r\n if (!study) return null;\r\n\r\n // For study level (depth 2), create a plan with lessons as sections\r\n if (depth === 2) {\r\n const allFiles: ContentFile[] = [];\r\n const sections: PlanSection[] = study.lessons.map(lesson => {\r\n const files: ContentFile[] = lesson.files.map(file => {\r\n const contentFile: ContentFile = { type: \"file\", id: file.id, title: file.title, mediaType: file.mediaType as \"video\" | \"image\", url: file.url, image: lesson.image };\r\n allFiles.push(contentFile);\r\n return contentFile;\r\n });\r\n const presentation: PlanPresentation = { id: lesson.id, name: lesson.name, actionType: \"play\", files };\r\n return { id: lesson.id, name: lesson.name, presentations: [presentation] };\r\n });\r\n\r\n return { id: study.id, name: study.name, description: study.description, image: study.image, sections, allFiles };\r\n }\r\n\r\n // For lesson level (depth 3), create a simple plan with one section\r\n if (depth === 3) {\r\n const lessonId = segments[2];\r\n const lesson = study.lessons.find(l => l.id === lessonId);\r\n if (!lesson?.files) return null;\r\n\r\n const files: ContentFile[] = lesson.files.map(file => ({ type: \"file\" as const, id: file.id, title: file.title, mediaType: file.mediaType as \"video\" | \"image\", url: file.url, image: lesson.image }));\r\n const presentation: PlanPresentation = { id: lesson.id, name: lesson.name, actionType: \"play\", files };\r\n return { id: lesson.id, name: lesson.name, image: lesson.image, sections: [{ id: \"main\", name: \"Content\", presentations: [presentation] }], allFiles: files };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getPlaylist(path: string, _auth?: ContentProviderAuthData | null, _resolution?: number): Promise<ContentFile[] | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 2) return null;\r\n\r\n const collectionSlug = segments[0];\r\n const studyId = segments[1];\r\n\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return null;\r\n\r\n const study = collection.folders.find(s => s.id === studyId);\r\n if (!study) return null;\r\n\r\n // For study level, return all files from all lessons\r\n if (depth === 2) {\r\n const allFiles: ContentFile[] = [];\r\n for (const lesson of study.lessons) {\r\n for (const file of lesson.files) {\r\n allFiles.push({ type: \"file\", id: file.id, title: file.title, mediaType: file.mediaType as \"video\" | \"image\", url: file.url, image: lesson.image });\r\n }\r\n }\r\n return allFiles;\r\n }\r\n\r\n // For lesson level, return the files directly\r\n if (depth === 3) {\r\n const lessonId = segments[2];\r\n const lesson = study.lessons.find(l => l.id === lessonId);\r\n if (!lesson?.files) return null;\r\n return lesson.files.map(file => ({ type: \"file\" as const, id: file.id, title: file.title, mediaType: file.mediaType as \"video\" | \"image\", url: file.url, image: lesson.image }));\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async getExpandedInstructions(path: string, _auth?: ContentProviderAuthData | null): Promise<Instructions | null> {\r\n const { segments, depth } = parsePath(path);\r\n\r\n if (depth < 2) return null;\r\n\r\n const collectionSlug = segments[0];\r\n const studyId = segments[1];\r\n\r\n const collection = this.data.collections.find(c => this.slugify(c.name) === collectionSlug);\r\n if (!collection) return null;\r\n\r\n const study = collection.folders.find(s => s.id === studyId);\r\n if (!study) return null;\r\n\r\n // For study level\r\n if (depth === 2) {\r\n const lessonItems: InstructionItem[] = study.lessons.map(lesson => {\r\n const fileItems: InstructionItem[] = lesson.files.map(file => ({ id: file.id, itemType: \"file\", label: file.title, embedUrl: file.url }));\r\n return { id: lesson.id, itemType: \"action\", label: lesson.name, description: \"play\", children: fileItems };\r\n });\r\n\r\n return { venueName: study.name, items: [{ id: study.id, itemType: \"header\", label: study.name, children: [{ id: \"main\", itemType: \"section\", label: \"Content\", children: lessonItems }] }] };\r\n }\r\n\r\n // For lesson level\r\n if (depth === 3) {\r\n const lessonId = segments[2];\r\n const lesson = study.lessons.find(l => l.id === lessonId);\r\n if (!lesson?.files) return null;\r\n\r\n const headerLabel = `${study.name} - ${lesson.name}`;\r\n const actionItems = this.groupFilesIntoActions(lesson.files);\r\n return { venueName: lesson.name, items: [{ id: lesson.id, itemType: \"header\", label: headerLabel, children: [{ id: \"main\", itemType: \"section\", label: lesson.name, children: actionItems }] }] };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private slugify(text: string): string {\r\n return text\r\n .toLowerCase()\r\n .replace(/[^a-z0-9]+/g, \"-\")\r\n .replace(/^-|-$/g, \"\");\r\n }\r\n\r\n private groupFilesIntoActions(files: { id: string; title: string; url: string }[]): InstructionItem[] {\r\n // Group only consecutive files with the same base name\r\n const actionItems: InstructionItem[] = [];\r\n let currentGroup: typeof files = [];\r\n let currentBaseName: string | null = null;\r\n\r\n const flushGroup = () => {\r\n if (currentGroup.length === 0) return;\r\n const children: InstructionItem[] = currentGroup.map(file => ({\r\n id: file.id,\r\n itemType: \"file\" as const,\r\n label: file.title,\r\n embedUrl: file.url\r\n }));\r\n // Use base name as label only if multiple files were grouped\r\n const label = (currentGroup.length > 1 && currentBaseName) ? currentBaseName : currentGroup[0].title;\r\n actionItems.push({\r\n id: currentGroup[0].id + \"-action\",\r\n itemType: \"action\",\r\n label,\r\n description: \"play\",\r\n children\r\n });\r\n currentGroup = [];\r\n currentBaseName = null;\r\n };\r\n\r\n for (const file of files) {\r\n const baseName = this.getBaseName(file.title);\r\n const isNumbered = baseName !== file.title;\r\n\r\n if (isNumbered && baseName === currentBaseName) {\r\n // Continue the current group\r\n currentGroup.push(file);\r\n } else {\r\n // Flush previous group and start a new one\r\n flushGroup();\r\n currentGroup = [file];\r\n currentBaseName = isNumbered ? baseName : null;\r\n }\r\n }\r\n flushGroup();\r\n\r\n return actionItems;\r\n }\r\n\r\n private getBaseName(title: string): string {\r\n // Remove trailing number (e.g., \"Call to Action - Point 1\" -> \"Call to Action - Point\")\r\n const match = title.match(/^(.+?)\\s*\\d+$/);\r\n return match ? match[1].trim() : title;\r\n }\r\n}\r\n","import { ProviderInfo, ProviderLogos, IProvider } from \"../interfaces\";\r\nimport { APlayProvider } from \"./aPlay\";\r\nimport { B1ChurchProvider } from \"./b1Church\";\r\nimport { BibleProjectProvider } from \"./bibleProject\";\r\nimport { HighVoltageKidsProvider } from \"./highVoltage\";\r\nimport { LessonsChurchProvider } from \"./lessonsChurch\";\r\nimport { PlanningCenterProvider } from \"./planningCenter\";\r\nimport { SignPresenterProvider } from \"./signPresenter\";\r\n\r\nexport { APlayProvider } from \"./aPlay\";\r\nexport { B1ChurchProvider } from \"./b1Church\";\r\nexport { BibleProjectProvider } from \"./bibleProject\";\r\nexport { HighVoltageKidsProvider } from \"./highVoltage\";\r\nexport { LessonsChurchProvider } from \"./lessonsChurch\";\r\nexport { PlanningCenterProvider } from \"./planningCenter\";\r\nexport { SignPresenterProvider } from \"./signPresenter\";\r\n\r\n// Provider registry - singleton instances\r\nconst providerRegistry: Map<string, IProvider> = new Map();\r\n\r\n// Unimplemented providers (coming soon)\r\ninterface UnimplementedProvider {\r\n id: string;\r\n name: string;\r\n logos: ProviderLogos;\r\n}\r\n\r\nconst unimplementedProviders: UnimplementedProvider[] = [\r\n {\r\n id: \"awana\",\r\n name: \"Awana\",\r\n logos: {\r\n light: \"https://www.awana.org/wp-content/uploads/2025/04/awana-logo-black.svg\",\r\n dark: \"https://www.awana.org/wp-content/uploads/2025/04/awana-logo-white.svg\",\r\n },\r\n },\r\n {\r\n id: \"freeshow\",\r\n name: \"FreeShow\",\r\n logos: {\r\n light: \"https://freeshow.app/images/favicon.png\",\r\n dark: \"https://freeshow.app/images/favicon.png\",\r\n },\r\n },\r\n {\r\n id: \"gocurriculum\",\r\n name: \"Go Curriculum\",\r\n logos: {\r\n light: \"https://gocurriculum.com/wp-content/uploads/go-logo-curriculum-v2.png\",\r\n dark: \"https://gocurriculum.com/wp-content/uploads/go-logo-curriculum-v2.png\",\r\n },\r\n },\r\n {\r\n id: \"iteachchurch\",\r\n name: \"iTeachChurch\",\r\n logos: {\r\n light: \"https://iteachchurch.com/wp-content/uploads/2022/05/iTeachChurch_Artboard-1-copy-3@2x.png\",\r\n dark: \"https://iteachchurch.com/wp-content/uploads/2022/05/iTeachChurch_Artboard-1-copy-3@2x.png\",\r\n },\r\n },\r\n {\r\n id: \"lifechurch\",\r\n name: \"LifeChurch\",\r\n logos: {\r\n light: \"https://cdn.brandfetch.io/idRrA6pM45/w/400/h/400/theme/dark/icon.jpeg?c=1bxid64Mup7aczewSAYMX&t=1668042253613\",\r\n dark: \"https://cdn.brandfetch.io/idRrA6pM45/w/400/h/400/theme/dark/icon.jpeg?c=1bxid64Mup7aczewSAYMX&t=1668042253613\",\r\n },\r\n },\r\n {\r\n id: \"ministrystuff\",\r\n name: \"MinistryStuff\",\r\n logos: {\r\n light: \"\",\r\n dark: \"\",\r\n },\r\n },\r\n];\r\n\r\n// Register built-in providers\r\nfunction initializeProviders() {\r\n const aplay = new APlayProvider();\r\n const b1Church = new B1ChurchProvider();\r\n const bibleProject = new BibleProjectProvider();\r\n const highVoltageKids = new HighVoltageKidsProvider();\r\n const lessonsChurch = new LessonsChurchProvider();\r\n const planningCenter = new PlanningCenterProvider();\r\n const signPresenter = new SignPresenterProvider();\r\n\r\n providerRegistry.set(aplay.id, aplay);\r\n providerRegistry.set(b1Church.id, b1Church);\r\n providerRegistry.set(bibleProject.id, bibleProject);\r\n providerRegistry.set(highVoltageKids.id, highVoltageKids);\r\n providerRegistry.set(lessonsChurch.id, lessonsChurch);\r\n providerRegistry.set(planningCenter.id, planningCenter);\r\n providerRegistry.set(signPresenter.id, signPresenter);\r\n}\r\n\r\n// Initialize on module load\r\ninitializeProviders();\r\n\r\n/**\r\n * Get a provider by ID.\r\n */\r\nexport function getProvider(providerId: string): IProvider | null {\r\n return providerRegistry.get(providerId) || null;\r\n}\r\n\r\n/**\r\n * Get all registered providers.\r\n */\r\nexport function getAllProviders(): IProvider[] {\r\n return Array.from(providerRegistry.values());\r\n}\r\n\r\n/**\r\n * Register a custom provider.\r\n */\r\nexport function registerProvider(provider: IProvider): void {\r\n providerRegistry.set(provider.id, provider);\r\n}\r\n\r\n/**\r\n * Get provider configuration by ID (for backward compatibility).\r\n */\r\nexport function getProviderConfig(providerId: string) {\r\n const provider = getProvider(providerId);\r\n return provider?.config || null;\r\n}\r\n\r\n/**\r\n * Get list of available providers with their info including logos and auth types.\r\n * Includes both implemented providers and coming soon providers.\r\n * @param ids - Optional array of provider IDs to filter the results. If provided, only providers with matching IDs will be returned.\r\n */\r\nexport function getAvailableProviders(ids?: string[]): ProviderInfo[] {\r\n // Implemented providers\r\n const implemented: ProviderInfo[] = getAllProviders().map((provider) => ({\r\n id: provider.id,\r\n name: provider.name,\r\n logos: provider.logos,\r\n implemented: true,\r\n requiresAuth: provider.requiresAuth,\r\n authTypes: provider.authTypes,\r\n capabilities: provider.capabilities,\r\n }));\r\n\r\n // Coming soon providers\r\n const comingSoon: ProviderInfo[] = unimplementedProviders.map((p) => ({\r\n id: p.id,\r\n name: p.name,\r\n logos: p.logos,\r\n implemented: false,\r\n requiresAuth: false,\r\n authTypes: [],\r\n capabilities: { browse: false, presentations: false, playlist: false, instructions: false, expandedInstructions: false, mediaLicensing: false },\r\n }));\r\n\r\n const all = [...implemented, ...comingSoon];\r\n\r\n // Filter by IDs if provided\r\n if (ids && ids.length > 0) {\r\n const idSet = new Set(ids);\r\n return all.filter((provider) => idSet.has(provider.id));\r\n }\r\n\r\n return all;\r\n}\r\n","/**\n * @churchapps/content-provider-helper\n * Helper classes for interacting with third party content providers\n */\n\nexport const VERSION = \"0.0.1\";\n\n// Interfaces\nexport * from \"./interfaces\";\n\n// Utilities\nexport { detectMediaType, createFolder, createFile } from \"./utils\";\nexport { parsePath, getSegment, buildPath, appendToPath } from \"./pathUtils\";\n\n// Format conversion utilities\nexport * as FormatConverters from \"./FormatConverters\";\nexport {\n presentationsToPlaylist,\n presentationsToInstructions,\n presentationsToExpandedInstructions,\n instructionsToPlaylist,\n expandedInstructionsToPlaylist,\n instructionsToPresentations,\n expandedInstructionsToPresentations,\n collapseInstructions,\n playlistToPresentations,\n playlistToInstructions,\n playlistToExpandedInstructions\n} from \"./FormatConverters\";\n\n// Format resolver\nexport { FormatResolver, type FormatResolverOptions, type ResolvedFormatMeta } from \"./FormatResolver\";\n\n// Base class (for extending with custom providers)\n// @deprecated Use IProvider interface instead. ContentProvider will be removed in a future version.\nexport { ContentProvider } from \"./ContentProvider\";\n\n// Helper classes (for standalone use or custom providers)\nexport { OAuthHelper, TokenHelper, DeviceFlowHelper, ApiHelper } from \"./helpers\";\n\n// Built-in providers\nexport { APlayProvider } from \"./providers/aPlay\";\nexport { SignPresenterProvider } from \"./providers/signPresenter\";\nexport { LessonsChurchProvider } from \"./providers/lessonsChurch\";\nexport { B1ChurchProvider } from \"./providers/b1Church\";\nexport { PlanningCenterProvider } from \"./providers/planningCenter\";\nexport { BibleProjectProvider } from \"./providers/bibleProject\";\nexport { HighVoltageKidsProvider } from \"./providers/highVoltage\";\n\n// Registry functions\nexport {\n getProvider,\n getAllProviders,\n registerProvider,\n getProviderConfig,\n getAvailableProviders,\n} from \"./providers\";\n"],"mappings":"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","names":["folder","data_default","data_default"]}
|