# Python Middleware
if (type == exact) {
if (type != exact) {
   setupRequired(utils -j gfb2f016548+b712490ecc)
   setupRequired(sconsUtils -j g5d571352bb)
   setupRequired(sphinxutils -j gf7b00018f0+663e2227e0)
   setupRequired(daf_butler -j g0c23e58bec+fe2836ff9c)
   setupRequired(sphgeom -j g8f490195a6+663e2227e0)
   setupRequired(resources -j g4354dbd74b+940ec9190d)
   setupRequired(pipe_base -j gf38bda2b58+74f4b17d63)
   setupRequired(pex_config -j g8fad44f3d7+9b5fb0ee94)
   setupOptional(daf_base -j gbf6257aa9d+7147b71ecc)
   setupRequired(cpputils -j gee37125a88+b319181507)
   setupRequired(base -j g53246c7159+663e2227e0)
   setupRequired(pex_exceptions -j g786e29fd12+53fe651d7c)
   setupRequired(astro_metadata_translator -j g7a1f236247+9b5fb0ee94)
   setupRequired(afw -j gdc1c6cd056+afe56709e8)
   setupRequired(geom -j g19811a7679+b6bb53347a)
   setupRequired(log -j geaed405ab2+940ec9190d)
   setupRequired(astshim -j g6483cd21eb+eaea1bf0c7)
}
} else {
   if (type == exact) {
      setupRequired(utils           -j gfb2f016548+b712490ecc)
      setupRequired(sconsUtils      -j g5d571352bb)
      setupRequired(sphinxutils     -j gf7b00018f0+663e2227e0)
      setupRequired(daf_butler      -j g0c23e58bec+fe2836ff9c)
      setupRequired(sphgeom         -j g8f490195a6+663e2227e0)
      setupRequired(resources       -j g4354dbd74b+940ec9190d)
      setupRequired(pipe_base       -j gf38bda2b58+74f4b17d63)
      setupRequired(pex_config      -j g8fad44f3d7+9b5fb0ee94)
      setupOptional(daf_base        -j gbf6257aa9d+7147b71ecc)
      setupRequired(cpputils        -j gee37125a88+b319181507)
      setupRequired(base            -j g53246c7159+663e2227e0)
      setupRequired(pex_exceptions  -j g786e29fd12+53fe651d7c)
      setupRequired(astro_metadata_translator -j g7a1f236247+9b5fb0ee94)
      setupRequired(afw             -j gdc1c6cd056+afe56709e8)
      setupRequired(geom            -j g19811a7679+b6bb53347a)
      setupRequired(log             -j geaed405ab2+940ec9190d)
      setupRequired(astshim         -j g6483cd21eb+eaea1bf0c7)
   } else {
      setupRequired(utils gfb2f016548+b712490ecc [>= gfb2f016548+b712490ecc])
      setupRequired(daf_butler g0c23e58bec+fe2836ff9c [>= g0c23e58bec+fe2836ff9c])
      setupRequired(pipe_base gf38bda2b58+74f4b17d63 [>= gf38bda2b58+74f4b17d63])
      setupRequired(resources g4354dbd74b+940ec9190d [>= g4354dbd74b+940ec9190d])
      setupRequired(astro_metadata_translator g7a1f236247+9b5fb0ee94 [>= g7a1f236247+9b5fb0ee94])
      setupRequired(pex_config g8fad44f3d7+9b5fb0ee94 [>= g8fad44f3d7+9b5fb0ee94])
      
      # LSST C++.
      setupRequired(daf_base gbf6257aa9d+7147b71ecc [>= gbf6257aa9d+7147b71ecc])
      setupRequired(afw gdc1c6cd056+afe56709e8 [>= gdc1c6cd056+afe56709e8])
      setupRequired(geom g19811a7679+b6bb53347a [>= g19811a7679+b6bb53347a])
      setupRequired(pex_exceptions g786e29fd12+53fe651d7c [>= g786e29fd12+53fe651d7c])
      setupOptional(log geaed405ab2+940ec9190d [>= geaed405ab2+940ec9190d])
   }
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
