Tell the curated tables that GRN and Scripture Earth exist

The legacy reconciler reported "nothing to change" and was confidently
wrong: its hasAny predicate never learned the two newest pools, so 122
curated rows — 8.9 million people — still carried heart_has_any=false
for groups the pin index can now reach. A reconciler that cannot see a
source is not reconciling, it is confirming.

Corrected exactly the 122 predicted, and the derived columns moved
with them: status 122, opportunity 93, lbc_carries_resource 69,
aligned 59, gap 29. Gap moves least because it means "nothing in the
heart language AND no in-country bridge either" — most of these have a
bridge, so they were already opportunities rather than gaps, and that
documented meaning is intact.

This was the fifth occurrence of one bug, and the gate written for it
had never looked at scripts — only .vue. Extending it to the build
scripts immediately found a sixth, in the Deaf gap table, which is
latent today because no sign language carries either field: GRN is
deliberately skipped for them and Scripture Earth has none. Fixed
while it is still cheap.

The rule now differs by file because the truth does: a surface must
READ the tier, while a build script COMPUTES it and cannot, so a
script must instead name every pool. Both halves verified against the
real pre-fix lines rather than synthetic ones.
This commit is contained in:
doxa-maps-88655c70 2026-09-24 22:15:53 +00:00
parent 90f0c37ddf
commit 337a1a863b
7 changed files with 1026 additions and 994 deletions

File diff suppressed because it is too large Load diff

View file

@ -614,7 +614,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 105
},
{
@ -899,7 +899,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 95
},
{
@ -929,7 +929,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 95
},
{
@ -1004,7 +1004,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1034,7 +1034,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1049,7 +1049,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1109,7 +1109,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1124,7 +1124,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1229,7 +1229,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -1244,7 +1244,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -1289,7 +1289,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -1304,7 +1304,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -1334,7 +1334,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -2174,7 +2174,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 24
},
{
@ -2204,7 +2204,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 24
},
{
@ -2219,7 +2219,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 24
},
{
@ -2294,7 +2294,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 22
},
{
@ -2354,7 +2354,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 22
},
{
@ -2369,7 +2369,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 22
},
{
@ -2534,7 +2534,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2564,7 +2564,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2594,7 +2594,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2624,7 +2624,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2654,7 +2654,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2684,7 +2684,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2744,7 +2744,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2774,7 +2774,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2894,7 +2894,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 20
},
{
@ -2939,7 +2939,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 20
},
{
@ -2954,7 +2954,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 20
},
{
@ -3104,7 +3104,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3134,7 +3134,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3164,7 +3164,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3194,7 +3194,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3329,7 +3329,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3419,7 +3419,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3539,7 +3539,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 15
},
{
@ -3584,7 +3584,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3629,7 +3629,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3674,7 +3674,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3689,7 +3689,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3749,7 +3749,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3764,7 +3764,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3869,7 +3869,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3929,7 +3929,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -4019,7 +4019,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -4064,7 +4064,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -4139,7 +4139,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 12
},
{
@ -4364,7 +4364,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 10
},
{
@ -4454,7 +4454,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 10
},
{
@ -4469,7 +4469,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 10
},
{
@ -4754,7 +4754,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 9
},
{
@ -5114,7 +5114,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5159,7 +5159,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5189,7 +5189,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5459,7 +5459,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5519,7 +5519,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5534,7 +5534,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5669,7 +5669,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 7
},
{
@ -5909,7 +5909,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 6
},
{
@ -6089,7 +6089,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 6
},
{
@ -6224,7 +6224,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 6
},
{
@ -6539,7 +6539,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 4
},
{
@ -6599,7 +6599,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 4
},
{
@ -6869,7 +6869,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 3
},
{
@ -7124,7 +7124,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 3
},
{
@ -7289,7 +7289,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 3
},
{
@ -7709,7 +7709,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 2
},
{
@ -7874,7 +7874,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 2
},
{

View file

@ -56,6 +56,7 @@ const HANDROLLED = new RegExp(`${FIELD}&&\\s*${FIELD}&&\\s*${FIELD}`)
const ANYTHING_PREDICATE = /\b(?:hasAny|hasAnything|hasResources|hasRes|anyResource)\b/
function offendersIn(src, label) {
const isScript = label.startsWith('scripts/')
const out = []
const lines = src.split('\n')
for (let i = 0; i < lines.length; i++) {
@ -70,14 +71,33 @@ function offendersIn(src, label) {
Only its DEFINITION is judged — call sites mention the name and decide nothing — and
`_tier` counts, since a mapped row carries it under that name. */
const defines = new RegExp(`(?:const|let|function)\\s+${ANYTHING_PREDICATE.source}`).test(line)
if (defines && !/_?\btier\b|\b_tier\b/.test(line)) {
if (!defines) continue
if (isScript) {
/* A build script COMPUTES the tier, so it cannot read one. What it must do instead is
name every pool: the drift here is always a field list that never learned about the
newest source. */
const missing = ['se', 'ga'].filter((f) => !new RegExp(`\\.${f}\\b`).test(line))
if (missing.length) {
out.push(`${label}:${i + 1} omits ${missing.join(', ')} — ${line.trim().slice(0, 70)}`)
}
continue
}
if (!/_?\btier\b|\b_tier\b/.test(line)) {
out.push(`${label}:${i + 1} ${line.trim().slice(0, 90)}`)
}
}
return out
}
const surfaces = readdirSync(DIR).filter((f) => f.endsWith('.vue'))
/* .vue AND the build scripts. The fifth occurrence of this bug was in
scripts/refresh-legacy-resource-flags.mjs, which this check never looked at — so it
reported "nothing to change" across 122 curated rows, 8.9 million people, that the index
could already reach. A gate that only watches one half of a bundle certifies the other. */
const SCRIPTS = resolve(DIR, 'scripts')
const surfaces = [
...readdirSync(DIR).filter((f) => f.endsWith('.vue')),
...readdirSync(SCRIPTS).filter((f) => f.endsWith('.mjs')).map((f) => `scripts/${f}`),
]
if (!surfaces.length) {
console.error('SURFACES-READ-THE-TIER: no .vue surfaces found — the check would pass vacuously.')
process.exit(1)
@ -88,7 +108,8 @@ if (POISON) {
for rather than one — the second is the line that actually got through. */
const INJECT =
' none: !c.s && !c.f && !c.au && !c.bv && !c.z && !(c.d && c.d.length),\n' +
' const hasAny = (r) => !!(r.scripture_url || r.film_url || r.audio || r.bible_video)'
' const hasAny = (r) => !!(r.scripture_url || r.film_url || r.audio || r.bible_video)\n' +
' const hasAny = (c) => !!(c.s || c.f || c.au || c.bv)'
let caught = 0
for (const f of surfaces) {
const poisoned = `${readFileSync(resolve(DIR, f), 'utf8')}\n${INJECT}\n`
@ -115,5 +136,5 @@ if (offenders.length) {
process.exit(1)
}
console.log(
`SURFACES-READ-THE-TIER: PASS — ${surfaces.length} surface(s), none re-derives the tier.`,
`SURFACES-READ-THE-TIER: PASS — ${surfaces.length} file(s) checked, none re-derives the tier.`,
)

View file

@ -54,7 +54,10 @@ for (const [name, , , iso3, code, pop] of rows) {
people += pop || 0
if (isPrivate(code)) privateCodes.add(code)
const hasFilm = !!v.f
const hasAny = !!(v.s || v.f || v.au || v.bv || (v.d && v.d.length))
// Every pool, including Scripture Earth and GRN. No sign language carries either today —
// GRN is deliberately skipped for them and Scripture Earth happens to have none — so this
// is latent rather than live, which is exactly when it is cheap to fix.
const hasAny = !!(v.s || v.f || v.au || v.bv || v.se || v.ga || (v.d && v.d.length))
if (!hasAny) { nothingLangs.add(code); nothingGroups++; nothingPeople += pop || 0 }
out.push({
people_group: name,

View file

@ -38,7 +38,15 @@ const v = (c) => codes[c] || null
const hasText = (c) => { const x = v(c); return !!(x && (x.s || (x.au && /text/.test(x.au.m || '')))) }
const hasFilm = (c) => { const x = v(c); return !!(x && x.f) }
const hasAudio = (c) => { const x = v(c); return !!(x && x.au && /audio/.test(x.au.m || '')) }
const hasAny = (c) => { const x = v(c); return !!(x && (x.s || x.f || x.au || x.bv || (x.d && x.d.length))) }
// Scripture Earth and GRN belong here like every other pool. Without them this predicate
// reported "nothing to change" while 122 curated rows — 8.9 million people — still said
// heart_has_any=false for groups the index can now reach. A reconciler that cannot see a
// source is not reconciling, it is confirming.
//
// `gap` and `opportunity` below are derived from this, so widening it moves them too — which
// is CORRECT: a group that can now hear the gospel in its own language is no longer a gap,
// and saying otherwise would send a team somewhere already reached.
const hasAny = (c) => { const x = v(c); return !!(x && (x.s || x.f || x.au || x.bv || x.se || x.ga || (x.d && x.d.length))) }
const load = (name) => JSON.parse(readFileSync(resolve(REPO, `data/tables/${name}.json`), 'utf8'))
const changed = {}

File diff suppressed because it is too large Load diff

View file

@ -614,7 +614,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 105
},
{
@ -899,7 +899,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 95
},
{
@ -929,7 +929,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 95
},
{
@ -1004,7 +1004,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1034,7 +1034,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1049,7 +1049,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1109,7 +1109,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1124,7 +1124,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 53
},
{
@ -1229,7 +1229,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -1244,7 +1244,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -1289,7 +1289,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -1304,7 +1304,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -1334,7 +1334,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 38
},
{
@ -2174,7 +2174,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 24
},
{
@ -2204,7 +2204,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 24
},
{
@ -2219,7 +2219,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 24
},
{
@ -2294,7 +2294,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 22
},
{
@ -2354,7 +2354,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 22
},
{
@ -2369,7 +2369,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 22
},
{
@ -2534,7 +2534,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2564,7 +2564,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2594,7 +2594,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2624,7 +2624,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2654,7 +2654,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2684,7 +2684,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2744,7 +2744,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2774,7 +2774,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 21
},
{
@ -2894,7 +2894,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 20
},
{
@ -2939,7 +2939,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 20
},
{
@ -2954,7 +2954,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 20
},
{
@ -3104,7 +3104,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3134,7 +3134,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3164,7 +3164,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3194,7 +3194,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3329,7 +3329,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3419,7 +3419,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 16
},
{
@ -3539,7 +3539,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 15
},
{
@ -3584,7 +3584,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3629,7 +3629,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3674,7 +3674,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3689,7 +3689,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3749,7 +3749,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3764,7 +3764,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3869,7 +3869,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -3929,7 +3929,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -4019,7 +4019,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -4064,7 +4064,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 13
},
{
@ -4139,7 +4139,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 12
},
{
@ -4364,7 +4364,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 10
},
{
@ -4454,7 +4454,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 10
},
{
@ -4469,7 +4469,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 10
},
{
@ -4754,7 +4754,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 9
},
{
@ -5114,7 +5114,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5159,7 +5159,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5189,7 +5189,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5459,7 +5459,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5519,7 +5519,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5534,7 +5534,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 8
},
{
@ -5669,7 +5669,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 7
},
{
@ -5909,7 +5909,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 6
},
{
@ -6089,7 +6089,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 6
},
{
@ -6224,7 +6224,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 6
},
{
@ -6539,7 +6539,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 4
},
{
@ -6599,7 +6599,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 4
},
{
@ -6869,7 +6869,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 3
},
{
@ -7124,7 +7124,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 3
},
{
@ -7289,7 +7289,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 3
},
{
@ -7709,7 +7709,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 2
},
{
@ -7874,7 +7874,7 @@
"has_scripture": false,
"full_bible": false,
"has_film": false,
"carries_resource": false,
"carries_resource": true,
"country_people_groups": 2
},
{