func: function __callback(bytes32 queryId, string result, bytes proof) public {
      require(payoutCompleted == false);
      require(msg.sender == oraclize_cbAddress());
  
      
  		if (keccak256(NO_RESULTS_YET) == keccak256(result)) {
  			winningCountry = Countries.None;
  		} else {
  			
  			var resultSlice = result.toSlice();
  			resultSlice.split("\n".toSlice());
  
  			
  			
  			var winning_country_slice = resultSlice.split(" ".toSlice());
  			winning_country_string = winning_country_slice.toString();
  
  			if (strCompare(COUNTRY_NAMES[0], winning_country_string) == 0) {
  				winningCountry = Countries(0);
  			} else if (strCompare(COUNTRY_NAMES[1], winning_country_string) == 0) {
  				winningCountry = Countries(1);
  			} else if (strCompare(COUNTRY_NAMES[2], winning_country_string) == 0) {
  				winningCountry = Countries(2);
  			} else if (strCompare(COUNTRY_NAMES[3], winning_country_string) == 0) {
  				winningCountry = Countries(3);
  			} else if (strCompare(COUNTRY_NAMES[4], winning_country_string) == 0) {
  				winningCountry = Countries(4);
  			} else if (strCompare(COUNTRY_NAMES[5], winning_country_string) == 0) {
  				winningCountry = Countries(5);
  			} else if (strCompare(COUNTRY_NAMES[6], winning_country_string) == 0) {
  				winningCountry = Countries(6);
  			} else if (strCompare(COUNTRY_NAMES[7], winning_country_string) == 0) {
  				winningCountry = Countries(7);
  			}
  		}
  
      
      
      
      if (winningCountry == Countries.None) {
        
        if (now >= BET_RELEASE_DATE)
          return releaseBets();
        return pingOracle(PAYOUT_ATTEMPT_INTERVAL);
      }
  
      performPayout();
    }