if (type == exact) {
   setupRequired(afw             -j g41b6eb5643+6a8c6fb7ff)
   setupRequired(daf_base        -j g9acbc9a64b+25ce2dec9e)
   setupRequired(utils           -j g916547d642+b712490ecc)
   setupRequired(sconsUtils      -j g5d571352bb)
   setupRequired(sphinxutils     -j gf7b00018f0+663e2227e0)
   setupRequired(cpputils        -j gee37125a88+b319181507)
   setupRequired(base            -j g53246c7159+663e2227e0)
   setupRequired(pex_exceptions  -j g786e29fd12+53fe651d7c)
   setupRequired(pex_config      -j g8fad44f3d7+dffdb4d9cd)
   setupRequired(resources       -j g675c4a7562+c868ab9932)
   setupRequired(geom            -j g19811a7679+b5afc4d4fc)
   setupRequired(sphgeom         -j g8f490195a6+663e2227e0)
   setupRequired(log             -j geaed405ab2+c868ab9932)
   setupRequired(astshim         -j g6483cd21eb+eaea1bf0c7)
   setupRequired(ip_diffim       -j gfb11b3eabb+728cca2e53)
   setupRequired(images          -j gde8f094468+550d221926)
   setupRequired(astro_metadata_translator -j gd5704b07e7+dffdb4d9cd)
   setupOptional(daf_butler      -j g4352c55b21+f57734d84a)
   setupOptional(obs_base        -j g5a6db65e37+7495fac597)
   setupRequired(pipe_base       -j gf24a075aa2+a99ac17d31)
   setupOptional(meas_algorithms -j g4a7591d645+b2ccaf9510)
   setupRequired(meas_base       -j ga44f29b7aa+9a903dfd66)
   setupRequired(skymap          -j gc1afcb06db+4d005499af)
   setupRequired(kht             -j gaf53c9a034)
   setupRequired(shapelet        -j g883ef71f97+4b19671edb)
   setupOptional(meas_extensions_piff -j g92c671f44c+be0cc2cbdc)
   setupOptional(meas_extensions_psfex -j gb4f33854fd+7bbbeb617f)
   setupRequired(psfex           -j g7b9623be85+663e2227e0)
   setupOptional(cell_coadds     -j g0d63591232+be0cc2cbdc)
   setupRequired(meas_astrom     -j gfced8664c3+be0cc2cbdc)
   setupRequired(meas_extensions_trailedSources -j g1147af6e9c+ae83786ca3)
   setupRequired(meas_extensions_shapeHSM -j g607d138630+be0cc2cbdc)
   setupRequired(meas_deblender  -j g262e1987ae+6b1415dea2)
   setupRequired(verify          -j g99a1cb4b73+acc5c5a517)
   setupRequired(dax_apdb        -j gb8fc0043e9+edaa79b4f5)
   setupRequired(felis           -j gfbddc97d01+4add00255f)
   setupRequired(sdm_schemas     -j g911dc222ed+663e2227e0)
   setupRequired(verify_metrics  -j g8b480f84d9+663e2227e0)
} else {
   setupRequired(afw g41b6eb5643+6a8c6fb7ff [>= g41b6eb5643+6a8c6fb7ff])
   setupRequired(daf_base g9acbc9a64b+25ce2dec9e [>= g9acbc9a64b+25ce2dec9e])
   setupRequired(geom g19811a7679+b5afc4d4fc [>= g19811a7679+b5afc4d4fc])
   setupRequired(ip_diffim gfb11b3eabb+728cca2e53 [>= gfb11b3eabb+728cca2e53])
   setupRequired(meas_algorithms g4a7591d645+b2ccaf9510 [>= g4a7591d645+b2ccaf9510])
   setupRequired(meas_base ga44f29b7aa+9a903dfd66 [>= ga44f29b7aa+9a903dfd66])
   setupRequired(pex_config g8fad44f3d7+dffdb4d9cd [>= g8fad44f3d7+dffdb4d9cd])
   setupRequired(pex_exceptions g786e29fd12+53fe651d7c [>= g786e29fd12+53fe651d7c])
   setupRequired(utils g916547d642+b712490ecc [>= g916547d642+b712490ecc])
}
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
