How to use begin method in SeleniumBase

Best Python code snippet using SeleniumBase

vars.py

Source:vars.py Github

copy

Full Screen

1# -*- coding:utf-8 -*- 2import sys3PY3 = (sys.version_info[0] >= 3)4HTTP_OK = 2005HTTP_AUTHORIZATION_ERROR = 4016HTTP_URL = 'api.wmcloud.com'7HTTP_PORT = 4438BOND = '/​api/​bond/​getBond.csv?secID=%s&ticker=%s&field=%s'9BONDCF = '/​api/​bond/​getBondCf.csv?secID=%s&ticker=%s&beginDate=%s&cashTypeCD=%s&endDate=%s&field=%s'10BONDCOUPON = '/​api/​bond/​getBondCoupon.csv?secID=%s&ticker=%s&field=%s'11BONDGUAR = '/​api/​bond/​getBondGuar.csv?secID=%s&ticker=%s&guarModeCD=%s&field=%s'12BONDISSUE = '/​api/​bond/​getBondIssue.csv?secID=%s&ticker=%s&raiseModeCD=%s&field=%s'13BONDOPTION = '/​api/​bond/​getBondOption.csv?secID=%s&ticker=%s&field=%s'14BONDRATING = '/​api/​bond/​getBondRating.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'15EQU = '/​api/​equity/​getEqu.csv?equTypeCD=%s&secID=%s&ticker=%s&listStatusCD=%s&field=%s'16EQUALLOT = '/​api/​equity/​getEquAllot.csv?isAllotment=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'17EQUDIV = '/​api/​equity/​getEquDiv.csv?eventProcessCD=%s&exDivDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'18EQUINDUSTRY = '/​api/​equity/​getEquIndustry.csv?industry=%s&industryID=%s&industryVersionCD=%s&secID=%s&ticker=%s&intoDate=%s&field=%s'19EQUIPO = '/​api/​equity/​getEquIPO.csv?eventProcessCD=%s&secID=%s&ticker=%s&field=%s'20EQUREF = '/​api/​equity/​getEquRef.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&eventProcessCD=%s&field=%s'21EQURETUD = '/​api/​equity/​getEquRetud.csv?listStatusCD=%s&secID=%s&ticker=%s&beginDate=%s&dailyReturnNoReinvLower=%s&dailyReturnNoReinvUpper=%s&dailyReturnReinvLower=%s&dailyReturnReinvUpper=%s&endDate=%s&isChgPctl=%s&field=%s'22EQUSPLITS = '/​api/​equity/​getEquSplits.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'23FUTU = '/​api/​future/​getFutu.csv?exchangeCD=%s&secID=%s&ticker=%s&contractObject=%s&field=%s'24FUTUCONVF = '/​api/​future/​getFutuConvf.csv?secID=%s&ticker=%s&field=%s'25GUARRATING = '/​api/​bond/​getGuarRating.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'26IDX = '/​api/​idx/​getIdx.csv?secID=%s&ticker=%s&field=%s'27IDXCONS = '/​api/​idx/​getIdxCons.csv?secID=%s&ticker=%s&intoDate=%s&intoDate=%s&isNew=%s&field=%s'28IDXWEIGHT = '/​api/​idx/​getIdxCloseWeight.json?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'29ISSUERRATING = '/​api/​bond/​getIssuerRating.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'30MKTEQUD = '/​api/​market/​getMktEqud.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'31MKTFUTD = '/​api/​market/​getMktFutd.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'32MKTIDXD = '/​api/​market/​getMktIdxd.csv?indexID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'33SECID = '/​api/​master/​getSecID.csv?assetClass=%s&cnSpell=%s&partyID=%s&ticker=%s&field=%s'34FUND = '/​api/​fund/​getFund.csv?etfLof=%s&listStatusCd=%s&secID=%s&ticker=%s&category=%s&operationMode=%s&field=%s'35FUNDNAV = '/​api/​fund/​getFundNav.csv?dataDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'36FUNDDIVM = '/​api/​fund/​getFundDivm.csv?dataDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'37FUNDDIV = '/​api/​fund/​getFundDiv.csv?secID=%s&ticker=%s&adjustedType=%s&beginDate=%s&endDate=%s&field=%s'38FUNDASSETS = '/​api/​fund/​getFundAssets.csv?reportDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'39FUNDHOLDINGS = '/​api/​fund/​getFundHoldings.csv?reportDate=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&secType=%s&field=%s'40FDMTBS = '/​api/​fundamental/​getFdmtBS.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'41FDMTBSBANK = '/​api/​fundamental/​getFdmtBSBank.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'42FDMTBSSECU = '/​api/​fundamental/​getFdmtBSSecu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'43FDMTBSINDU = '/​api/​fundamental/​getFdmtBSIndu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'44FDMTBSINSU = '/​api/​fundamental/​getFdmtBSInsu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'45FDMTCF = '/​api/​fundamental/​getFdmtCF.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'46FDMTCFBANK = '/​api/​fundamental/​getFdmtCFBank.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'47FDMTCFSECU = '/​api/​fundamental/​getFdmtCFSecu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'48FDMTCFINDU = '/​api/​fundamental/​getFdmtCFIndu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'49FDMTCFINSU = '/​api/​fundamental/​getFdmtCFInsu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'50FDMTIS = '/​api/​fundamental/​getFdmtIS.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'51FDMTISBANK = '/​api/​fundamental/​getFdmtISBank.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'52FDMTISSECU = '/​api/​fundamental/​getFdmtISSecu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'53FDMTISINDU = '/​api/​fundamental/​getFdmtISIndu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'54FDMTISINSU = '/​api/​fundamental/​getFdmtISInsu.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'55FDMTEE = '/​api/​fundamental/​getFdmtEe.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'56FDMTEF = '/​api/​fundamental/​getFdmtEf.csv?reportType=%s&secID=%s&ticker=%s&beginDate=%s&endDate=%s&forecastType=%s&publishDateBegin=%s&publishDateEnd=%s&field=%s'57TRADECAL = '/​api/​master/​getTradeCal.csv?exchangeCD=%s&beginDate=%s&endDate=%s&field=%s'58INDUSTRY = '/​api/​master/​getIndustry.csv?industryVersion=%s&industryVersionCD=%s&industryLevel=%s&isNew=%s&field=%s'59FSTTOTAL = '/​api/​equity/​getFstTotal.csv?beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'60FSTDETAIL = '/​api/​equity/​getFstDetail.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'61MKTBLOCKD = '/​api/​market/​getMktBlockd.csv?secID=%s&ticker=%s&tradeDate=%s&assetClass=%s&beginDate=%s&endDate=%s&field=%s'62HKEQU = '/​api/​HKequity/​getHKEqu.csv?listStatusCD=%s&secID=%s&ticker=%s&field=%s'63HKEQUCA = '/​api/​HKequity/​getHKEquCA.csv?secID=%s&ticker=%s&eventTypeCD=%s&field=%s'64MKTREPOD = '/​api/​market/​getMktRepod.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'65MKTBONDD = '/​api/​market/​getMktBondd.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'66EQUSHARE = '/​api/​equity/​getEquShare.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&partyID=%s&field=%s'67REPO = '/​api/​bond/​getRepo.csv?secID=%s&ticker=%s&field=%s'68MKTHKEQUD = '/​api/​market/​getMktHKEqud.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'69TICKRTSNAPSHOT = '/​api/​market/​getTickRTSnapshot.csv?securityID=%s&field=%s'70TICKRTSNAPSHOTINDEX = '/​api/​market/​getTickRTSnapshotIndex.csv?securityID=%s&field=%s'71FUTURETICKRTSNAPSHOT = '/​api/​market/​getFutureTickRTSnapshot.csv?instrumentID=%s&field=%s'72TICKRTINTRADAY = '/​api/​market/​getTickRTIntraDay.csv?securityID=%s&endTime=%s&startTime=%s&field=%s'73BARRTINTRADAY = '/​api/​market/​getBarRTIntraDay.csv?securityID=%s&endTime=%s&startTime=%s&field=%s'74BARHISTONEDAY = '/​api/​market/​getBarHistOneDay.csv?securityID=%s&date=%s&endTime=%s&startTime=%s&field=%s'75BARHISTDAYRANGE = '/​api/​market/​getBarHistDateRange.csv?securityID=%s&startDate=%s&&endDate=%s&field=%s'76FUTURETICKRTINTRADAY = '/​api/​market/​getFutureTickRTIntraDay.csv?instrumentID=%s&endTime=%s&startTime=%s&field=%s'77FUTUREBARINDAY = '/​api/​market/​getFutureBarHistOneDay.csv?instrumentID=%s&date=%s&field=%s'78FUTUREBARDATERANGE = '/​api/​market/​getFutureBarHistDateRange.csv?instrumentID=%s&startDate=%s&endDate=%s&field=%s'79STOCKFACTORSONEDAY = '/​api/​market/​getStockFactorsOneDay.csv?tradeDate=%s&secID=%s&ticker=%s&field=%s'80STOCKFACTORSDATERANGE = '/​api/​market/​getStockFactorsDateRange.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'81MKTFUNDD = '/​api/​market/​getMktFundd.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'82MKTFUTMTR = '/​api/​market/​getMktFutMTR.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'83MKTFUTMSR = '/​api/​market/​getMktFutMSR.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'84MKTFUTMLR = '/​api/​market/​getMktFutMLR.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'85FUNDETFPRLIST = '/​api/​fund/​getFundETFPRList.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'86FUNDETFCONS = '/​api/​fund/​getFundETFCons.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'87FUNDRATING = '/​api/​fund/​getFundRating.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'88CHINAMACRODATA = '/​api/​macro/​getChinaMacroData.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'89CHINAMACROINFO = '/​api/​macro/​getChinaMacroInfo.csv?indicID=%s&indicNameAbbr=%s&parentID=%s&field=%s'90GLOBALMACRODATA = '/​api/​macro/​getGlobalMacroData.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'91GLOBALMACROINFO = '/​api/​macro/​getGlobalMacroInfo.csv?indicID=%s&indicNameAbbr=%s&parentID=%s&field=%s'92INDUSTRIALDATA = '/​api/​macro/​getIndustrialData.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'93INDUSTRIALINFO = '/​api/​macro/​getIndustrialInfo.csv?indicID=%s&indicNameAbbr=%s&parentID=%s&field=%s'94ECOMMERCEDATA = '/​api/​macro/​getEcommerceData.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'95ECOMMERCEINFO = '/​api/​macro/​getEcommerceInfo.csv?indicID=%s&indicNameAbbr=%s&parentID=%s&field=%s'96MKTMFUTD = '/​api/​market/​getMktMFutd.csv?contractMark=%s&contractObject=%s&mainCon=%s&tradeDate=%s&endDate=%s&startDate=%s&field=%s'97CHINADATAGDP = '/​api/​macro/​getChinaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'98CHINADATAECI = '/​api/​macro/​getChinaDataECI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'99CHINADATAPMI = '/​api/​macro/​getChinaDataPMI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'100CHINADATACCI = '/​api/​macro/​getChinaDataCCI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'101CHINADATAECONOMISTSBOOMINDEX = '/​api/​macro/​getChinaDataEconomistsBoomIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'102CHINADATAINDUSTRIALBUSINESSCLIMATEINDEX = '/​api/​macro/​getChinaDataIndustrialBusinessClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'103CHINADATACPI = '/​api/​macro/​getChinaDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'104CHINADATAPPI = '/​api/​macro/​getChinaDataPPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'105CHINADATAINDUSTRY = '/​api/​macro/​getChinaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'106CHINADATARETAILSALES = '/​api/​macro/​getChinaDataRetailSales.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'107CHINADATARESIDENTINCOMEEXP = '/​api/​macro/​getChinaDataResidentIncomeExp.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'108CHINADATAFAI = '/​api/​macro/​getChinaDataFAI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'109CHINADATAREALESTATE = '/​api/​macro/​getChinaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'110CHINADATAFOREIGNTRADE = '/​api/​macro/​getChinaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'111CHINADATAFDI = '/​api/​macro/​getChinaDataFDI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'112CHINADATAMONEYSTATISTICS = '/​api/​macro/​getChinaDataMoneyStatistics.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'113CHINADATAALLSYSTEMFINANCING = '/​api/​macro/​getChinaDataAllSystemFinancing.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'114CHINADATALENDINGDEPOSIT = '/​api/​macro/​getChinaDataLendingDeposit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'115CHINADATACREDITFUNDSTABLE = '/​api/​macro/​getChinaDataCreditFundsTable.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'116CHINADATAOPENMARKETOPERATION = '/​api/​macro/​getChinaDataOpenMarketOperation.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'117CHINADATAEXCHANGERATE = '/​api/​macro/​getChinaDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'118CHINADATAINTERESTRATELENDINGDEPOSIT = '/​api/​macro/​getChinaDataInterestRateLendingDeposit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'119CHINADATAINTERESTRATESHIBOR = '/​api/​macro/​getChinaDataInterestRateSHIBOR.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'120CHINADATAINTERESTRATEINTERBANKREPO = '/​api/​macro/​getChinaDataInterestRateInterbankRepo.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'121CHINADATAFINANCE = '/​api/​macro/​getChinaDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'122CHINADATAGOLDCLOSEPRICE = '/​api/​macro/​getChinaDataGoldClosePrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'123USDATAGDP = '/​api/​macro/​getUSDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'124USDATAFOREIGNTRADE = '/​api/​macro/​getUSDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'125USDATAPRICEINDEX = '/​api/​macro/​getUSDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'126USDATAEMPLOYMENTUNEMPLOYMENT = '/​api/​macro/​getUSDataEmploymentUnemployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'127USDATAINTERESTRATE = '/​api/​macro/​getUSDataInterestRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'128USDATAEXCHANGERATE = '/​api/​macro/​getUSDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'129USDATAMONEYSUPPLY = '/​api/​macro/​getUSDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'130USDATACONSUMERCREDIT = '/​api/​macro/​getUSDataConsumerCredit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'131USDATACLIMATEINDEX = '/​api/​macro/​getUSDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'132USDATADURABLEGOODS = '/​api/​macro/​getUSDataDurableGoods.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'133USDATAREALESTATE = '/​api/​macro/​getUSDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'134USDATADOMESTICTRADE = '/​api/​macro/​getUSDataDomesticTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'135EUDATAGDP = '/​api/​macro/​getEUDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'136EUDATAFOREIGNTRADE = '/​api/​macro/​getEUDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'137EUDATAPRICEINDEX = '/​api/​macro/​getEUDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'138EUDATAEMPLOYMENTUNEMPLOYMENT = '/​api/​macro/​getEUDataEmploymentUnemployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'139EUDATAINTERESTRATE = '/​api/​macro/​getEUDataInterestRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'140EUDATAEXCHANGERATE = '/​api/​macro/​getEUDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'141EUDATABANKING = '/​api/​macro/​getEUDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'142EUDATACLIMATEINDEX = '/​api/​macro/​getEUDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'143EUDATAINDUSTRY = '/​api/​macro/​getEUDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'144EUDATARETAIL = '/​api/​macro/​getEUDataRetail.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'145SWITZERLANDDATAGDP = '/​api/​macro/​getSwitzerlandDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'146SWITZERLANDDATAPRICEINDEX = '/​api/​macro/​getSwitzerlandDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'147SWITZERLANDDATACLIMATEINDEX = '/​api/​macro/​getSwitzerlandDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'148SWITZERLANDDATAMONEYSUPPLY = '/​api/​macro/​getSwitzerlandDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'149SWEDENDATAGDP = '/​api/​macro/​getSwedenDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'150SWEDENDATAPRICEINDEX = '/​api/​macro/​getSwedenDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'151SWEDENDATAFOREIGNTRADE = '/​api/​macro/​getSwedenDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'152KOREADATAGDP = '/​api/​macro/​getKoreaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'153KOREADATAPRICEINDEX = '/​api/​macro/​getKoreaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'154KOREADATAEMPLOYMENTUNEMPLOYMENT = '/​api/​macro/​getKoreaDataEmploymentUnemployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'155KOREADATAINTERESTRATES = '/​api/​macro/​getKoreaDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'156KOREADATAEXCHANGERATE = '/​api/​macro/​getKoreaDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'157KOREADATAMONEYSUPPLY = '/​api/​macro/​getKoreaDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'158KOREADATACLIMATEINDEX = '/​api/​macro/​getKoreaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'159KOREADATA_EXTERNALDEBT = '/​api/​macro/​getKoreaData_ExternalDebt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'160KOREADATAINDUSTRYANDSERVICE = '/​api/​macro/​getKoreaDataIndustryandService.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'161KOREADATAREALESTATE = '/​api/​macro/​getKoreaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'162AUSTRALIADATAGDP = '/​api/​macro/​getAustraliaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'163AUSTRALIADATAFOREIGNTRADE = '/​api/​macro/​getAustraliaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'164AUSTRALIADATAPRICEINDEX = '/​api/​macro/​getAustraliaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'165AUSTRALIADATAEMPLOYMENT = '/​api/​macro/​getAustraliaDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'166AUSTRALIADATACLIMATEINDEX = '/​api/​macro/​getAustraliaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'167ITALYDATAGDP = '/​api/​macro/​getItalyDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'168ITALYDATAPAYMENTSBALANCE = '/​api/​macro/​getItalyDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'169ITALYDATAPRICEINDEX = '/​api/​macro/​getItalyDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'170ITALYDATAEMPLOYMENT = '/​api/​macro/​getItalyDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'171ITALYDATAFINANCE = '/​api/​macro/​getItalyDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'172ITALYDATACLIMATEINDEX = '/​api/​macro/​getItalyDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'173ITALYDATAINTERESTRATE = '/​api/​macro/​getItalyDataInterestRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'174SPAINDATAGDP = '/​api/​macro/​getSpainDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'175SPAINDATAFOREIGNTRADE = '/​api/​macro/​getSpainDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'176SPAINDATAPAYMENTSBALANCE = '/​api/​macro/​getSpainDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'177SPAINDATABANKING = '/​api/​macro/​getSpainDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'178SPAINDATATRANSPORTATION = '/​api/​macro/​getSpainDataTransportation.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'179SPAINDATAENERGY = '/​api/​macro/​getSpainDataEnergy.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'180SPAINDATAFINANCE = '/​api/​macro/​getSpainDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'181CANADADATAGDP = '/​api/​macro/​getCanadaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'182CANADADATAPAYMENTSBALANCE = '/​api/​macro/​getCanadaDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'183CANADADATAFOREIGNTRADE = '/​api/​macro/​getCanadaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'184CANADADATAPRICEINDEX = '/​api/​macro/​getCanadaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'185CANADADATABANKING = '/​api/​macro/​getCanadaDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'186CANADADATAEMPLOYMENT = '/​api/​macro/​getCanadaDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'187CANADADATAMANUFACTURING = '/​api/​macro/​getCanadaDataManufacturing.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'188CANADADATAREALESTATE = '/​api/​macro/​getCanadaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'189CANADADATACLIMATEINDEX = '/​api/​macro/​getCanadaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'190HKDATAGDP = '/​api/​macro/​getHKDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'191HKDATAFOREIGNTRADE = '/​api/​macro/​getHKDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'192HKDATAPRICEINDEX = '/​api/​macro/​getHKDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'193HKDATAFINANCE = '/​api/​macro/​getHKDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'194HKDATABANKING = '/​api/​macro/​getHKDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'195HKDATAINDUSTRY = '/​api/​macro/​getHKDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'196HKDATACONSUMPTION = '/​api/​macro/​getHKDataConsumption.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'197HKDATATHROUGHPUT = '/​api/​macro/​getHKDataThroughput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'198HKDATAEMPLOYMENT = '/​api/​macro/​getHKDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'199HKDATAINTERESTRATE = '/​api/​macro/​getHKDataInterestRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'200HKDATAEXCHANGERATE = '/​api/​macro/​getHKDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'201HKDATAREALESTATE = '/​api/​macro/​getHKDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'202HKDATATOURISM = '/​api/​macro/​getHKDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'203INDIADATAGDP = '/​api/​macro/​getIndiaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'204INDIADATAPAYMENTSBALANCE = '/​api/​macro/​getIndiaDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'205INDIADATAPRICEINDEX = '/​api/​macro/​getIndiaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'206INDIADATATOURISM = '/​api/​macro/​getIndiaDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'207INDIADATAENERGY = '/​api/​macro/​getIndiaDataEnergy.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'208INDIADATACLIMATEINDEX = '/​api/​macro/​getIndiaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'209INDIADATABANKING = '/​api/​macro/​getIndiaDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'210INDIADATAINDUSTRY = '/​api/​macro/​getIndiaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'211INDIADATAFOREIGNTRADE = '/​api/​macro/​getIndiaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'212MALAYSIADATAGDP = '/​api/​macro/​getMalaysiaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'213MALAYSIADATAPAYMENTSBALANCE = '/​api/​macro/​getMalaysiaDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'214MALAYSIADATAFOREIGNTRADE = '/​api/​macro/​getMalaysiaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'215MALAYSIADATAPRICEINDEX = '/​api/​macro/​getMalaysiaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'216MALAYSIADATAEMPLOYMENT = '/​api/​macro/​getMalaysiaDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'217MALAYSIADATAINDUSTRY = '/​api/​macro/​getMalaysiaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'218MALAYSIADATAFINANCE = '/​api/​macro/​getMalaysiaDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'219MALAYSIADATAMONEYSUPPLY = '/​api/​macro/​getMalaysiaDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'220MALAYSIADATAREALESTATE = '/​api/​macro/​getMalaysiaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'221INDONESIADATAGDP = '/​api/​macro/​getIndonesiaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'222INDONESIADATAPAYMENTSBALANCE = '/​api/​macro/​getIndonesiaDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'223INDONESIADATAFOREIGNTRADE = '/​api/​macro/​getIndonesiaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'224INDONESIADATAPRICEINDEX = '/​api/​macro/​getIndonesiaDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'225INDONESIADATAINDUSTRY = '/​api/​macro/​getIndonesiaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'226INDONESIADATAFINANCE = '/​api/​macro/​getIndonesiaDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'227INDONESIADATABANKING = '/​api/​macro/​getIndonesiaDataBanking.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'228INDONESIADATASECURITY = '/​api/​macro/​getIndonesiaDataSecurity.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'229INDONESIADATATOURISM = '/​api/​macro/​getIndonesiaDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'230TURKEYDATAGDP = '/​api/​macro/​getTurkeyDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'231TURKEYDATAPAYMENTSBALANCE = '/​api/​macro/​getTurkeyDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'232TURKEYDATAFOREIGNTRADE = '/​api/​macro/​getTurkeyDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'233TURKEYDATAPRICEINDEX = '/​api/​macro/​getTurkeyDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'234TURKEYDATAEMPLOYMENT = '/​api/​macro/​getTurkeyDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'235TURKEYDATAINDUSTRY = '/​api/​macro/​getTurkeyDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'236TURKEYDATAFINANCE = '/​api/​macro/​getTurkeyDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'237TURKEYDATAMONEYSUPPLY = '/​api/​macro/​getTurkeyDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'238THAILANDDATAGDP = '/​api/​macro/​getThailandDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'239THAILANDDATAPAYMENTSBALANCE = '/​api/​macro/​getThailandDataPaymentsBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'240THAILANDDATAFOREIGNTRADE = '/​api/​macro/​getThailandDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'241THAILANDDATAPRICEINDEX = '/​api/​macro/​getThailandDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'242THAILANDDATAEMPLOYMENT = '/​api/​macro/​getThailandDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'243THAILANDDATAINDUSTRY = '/​api/​macro/​getThailandDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'244THAILANDDATAFINANCE = '/​api/​macro/​getThailandDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'245THAILANDDATACLIMATEINDEX = '/​api/​macro/​getThailandDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'246THAILANDDATAMONEYSUPPLY = '/​api/​macro/​getThailandDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'247UKDATAGDP = '/​api/​macro/​getUKDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'248UKDATAFOREIGNTRADE = '/​api/​macro/​getUKDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'249UKDATACPI = '/​api/​macro/​getUKDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'250UKDATARPI = '/​api/​macro/​getUKDataRPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'251UKDATAEMPLOYMENT = '/​api/​macro/​getUKDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'252UKDATAMONEYSUPPLY = '/​api/​macro/​getUKDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'253UKDATACONSUMERCREDIT = '/​api/​macro/​getUKDataConsumerCredit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'254UKDATACLIMATEINDEX = '/​api/​macro/​getUKDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'255UKDATAFINANCE = '/​api/​macro/​getUKDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'256UKDATAINDUSTRIALPI = '/​api/​macro/​getUKDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'257UKDATAHOUSEPI = '/​api/​macro/​getUKDataHousePI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'258UKDATAINTERESTRATES = '/​api/​macro/​getUKDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'259UKDATAEXCHANGERATE = '/​api/​macro/​getUKDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'260JAPANDATAGDP = '/​api/​macro/​getJapanDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'261JAPANDATAFOREIGNTRADE = '/​api/​macro/​getJapanDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'262JAPANDATACPI = '/​api/​macro/​getJapanDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'263JAPANDATAEMPLOYMENT = '/​api/​macro/​getJapanDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'264JAPANDATAMONEYSUPPLY = '/​api/​macro/​getJapanDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'265JAPANDATACLIMATEINDEX = '/​api/​macro/​getJapanDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'266JAPANDATAINDUSTRIALPI = '/​api/​macro/​getJapanDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'267JAPANDATAHOUSEPI = '/​api/​macro/​getJapanDataHousePI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'268JAPANDATAINTERESTRATES = '/​api/​macro/​getJapanDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'269JAPANDATAEXCHANGERATE = '/​api/​macro/​getJapanDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'270GERMANYDATAGDP = '/​api/​macro/​getGermanyDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'271GERMANYDATAFOREIGNTRADE = '/​api/​macro/​getGermanyDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'272GERMANYDATACPI = '/​api/​macro/​getGermanyDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'273GERMANYDATAPPI = '/​api/​macro/​getGermanyDataPPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'274GERMANYDATAIMPORTEXPORTPI = '/​api/​macro/​getGermanyDataImportExportPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'275GERMANYDATAEMPLOYMENT = '/​api/​macro/​getGermanyDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'276GERMANYDATAMONEYSUPPLY = '/​api/​macro/​getGermanyDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'277GERMANYDATACLIMATEINDEX = '/​api/​macro/​getGermanyDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'278GERMANYDATAFINANCE = '/​api/​macro/​getGermanyDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'279GERMANYDATAINDUSTRIALPI = '/​api/​macro/​getGermanyDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'280GERMANYDATAREALESTATE = '/​api/​macro/​getGermanyDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'281GERMANYDATADOMESTICTRADE = '/​api/​macro/​getGermanyDataDomesticTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'282GERMANYDATAINTERESTRATES = '/​api/​macro/​getGermanyDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'283FRANCEDATAFINANCE = '/​api/​macro/​getFranceDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'284FRANCEDATAGDP = '/​api/​macro/​getFranceDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'285FRANCEDATAFOREIGNTRADE = '/​api/​macro/​getFranceDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'286FRANCEDATACPI = '/​api/​macro/​getFranceDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'287FRANCEDATAPPI = '/​api/​macro/​getFranceDataPPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'288FRANCEDATAIMPORTPI = '/​api/​macro/​getFranceDataImportPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'289FRANCEDATAEMPLOYMENT = '/​api/​macro/​getFranceDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'290FRANCEDATAMONEYSUPPLY = '/​api/​macro/​getFranceDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'291FRANCEDATACLIMATEINDEX = '/​api/​macro/​getFranceDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'292FRANCEDATAINDUSTRIALPI = '/​api/​macro/​getFranceDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'293FRANCEDATADOMESTICTRADE = '/​api/​macro/​getFranceDataDomesticTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'294FRANCEDATAINTERESTRATES = '/​api/​macro/​getFranceDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'295TAIWANDATAGDP = '/​api/​macro/​getTaiwanDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'296TAIWANDATAEXTERNALDEBT = '/​api/​macro/​getTaiwanDataExternalDebt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'297TAIWANDATAFOREIGNTRADE = '/​api/​macro/​getTaiwanDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'298TAIWANDATACPI = '/​api/​macro/​getTaiwanDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'299TAIWANDATAIMPORTEXPORTPI = '/​api/​macro/​getTaiwanDataImportExportPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'300TAIWANDATAEMPLOYMENT = '/​api/​macro/​getTaiwanDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'301TAIWANDATAMONEYSUPPLY = '/​api/​macro/​getTaiwanDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'302TAIWANDATALENDINGDEPOSIT = '/​api/​macro/​getTaiwanDataLendingDeposit.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'303TAIWANDATARESERVEFUND = '/​api/​macro/​getTaiwanDataReserveFund.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'304TAIWANDATACLIMATEINDEX = '/​api/​macro/​getTaiwanDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'305TAIWANDATAFINANCE = '/​api/​macro/​getTaiwanDataFinance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'306TAIWANDATAINDUSTRIALPI = '/​api/​macro/​getTaiwanDataIndustrialPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'307TAIWANDATAREALESTATE = '/​api/​macro/​getTaiwanDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'308TAIWANDATATOURISM = '/​api/​macro/​getTaiwanDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'309TAIWANDATACROSSSTRAITTRADE = '/​api/​macro/​getTaiwanDataCrossStraitTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'310TAIWANDATABUSINESSANDECONOMY = '/​api/​macro/​getTaiwanDataBusinessandEconomy.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'311TAIWANDATAINTERESTRATES = '/​api/​macro/​getTaiwanDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'312TAIWANDATAEXCHANGERATE = '/​api/​macro/​getTaiwanDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'313MACAODATAGDP = '/​api/​macro/​getMacaoDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'314MACAODATAPRICEINDEX = '/​api/​macro/​getMacaoDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'315MACAODATAEMPLOYMENT = '/​api/​macro/​getMacaoDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'316MACAODATAMONEYSUPPLY = '/​api/​macro/​getMacaoDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'317MACAODATAFOREIGNEXCHANGERESERVES = '/​api/​macro/​getMacaoDataForeignExchangeReserves.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'318MACAODATATOURISM = '/​api/​macro/​getMacaoDataTourism.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'319MACAODATAGAMINGINDUSTRY = '/​api/​macro/​getMacaoDataGamingIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'320MACAODATAINTERESTRATES = '/​api/​macro/​getMacaoDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'321MACAODATAEXCHANGERATE = '/​api/​macro/​getMacaoDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'322RUSSIADATAGDP = '/​api/​macro/​getRussiaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'323RUSSIADATAFOREIGNTRADE = '/​api/​macro/​getRussiaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'324RUSSIADATACPI = '/​api/​macro/​getRussiaDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'325RUSSIADATAMONEYSUPPLY = '/​api/​macro/​getRussiaDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'326RUSSIADATACLIMATEINDEX = '/​api/​macro/​getRussiaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'327RUSSIADATAINTERESTRATES = '/​api/​macro/​getRussiaDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'328RUSSIADATAEXCHANGERATE = '/​api/​macro/​getRussiaDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'329BRAZILDATAGDP = '/​api/​macro/​getBrazilDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'330BRAZILDATAFOREIGNTRADE = '/​api/​macro/​getBrazilDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'331BRAZILDATAPRICEINDEX = '/​api/​macro/​getBrazilDataPriceIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'332BRAZILDATAEMPLOYMENT = '/​api/​macro/​getBrazilDataEmployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'333BRAZILDATAMONEYSUPPLY = '/​api/​macro/​getBrazilDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'334BRAZILDATACLIMATEINDEX = '/​api/​macro/​getBrazilDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'335BRAZILDATARETAILSALE = '/​api/​macro/​getBrazilDataRetailSale.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'336BRAZILDATAINTERESTRATES = '/​api/​macro/​getBrazilDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'337BRAZILDATAEXCHANGERATE = '/​api/​macro/​getBrazilDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'338SOUTHAFRICADATAGDP = '/​api/​macro/​getSouthAfricaDataGDP.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'339SOUTHAFRICADATAEMPLOYMENTUNEMPLOYMENT = '/​api/​macro/​getSouthAfricaDataEmploymentUnemployment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'340SOUTHAFRICADATAFOREIGNTRADE = '/​api/​macro/​getSouthAfricaDataForeignTrade.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'341SOUTHAFRICADATACPI = '/​api/​macro/​getSouthAfricaDataCPI.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'342SOUTHAFRICADATAMONEYSUPPLY = '/​api/​macro/​getSouthAfricaDataMoneySupply.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'343SOUTHAFRICADATACLIMATEINDEX = '/​api/​macro/​getSouthAfricaDataClimateIndex.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'344SOUTHAFRICADATAINDUSTRY = '/​api/​macro/​getSouthAfricaDataIndustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'345SOUTHAFRICADATAREALESTATE = '/​api/​macro/​getSouthAfricaDataRealEstate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'346SOUTHAFRICADATARETAILSALES = '/​api/​macro/​getSouthAfricaDataRetailSales.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'347SOUTHAFRICADATAINTERESTRATES = '/​api/​macro/​getSouthAfricaDataInterestRates.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'348SOUTHAFRICADATAEXCHANGERATE = '/​api/​macro/​getSouthAfricaDataExchangeRate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'349AGRICDATAPRICE = '/​api/​macro/​getAgricDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'350AGRICDATAOUTPV = '/​api/​macro/​getAgricDataOutpV.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'351AGRICDATAWASDE = '/​api/​macro/​getAgricDataWASDE.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'352AGRICDATAIMPTEXPT = '/​api/​macro/​getAgricDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'353FOODBVGDATAPRICE = '/​api/​macro/​getFoodBvgDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'354FOODBVGDATASALESOUTPUT = '/​api/​macro/​getFoodBvgDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'355FOODBVGDATAIMPTEXPT = '/​api/​macro/​getFoodBvgDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'356COMMTRADEDATATRSCG = '/​api/​macro/​getCommTradeDataTRSCG.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'357COMMTRADEDATASALES50LARGEEN = '/​api/​macro/​getCommTradeDataSales50LargeEn.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'358COMMTRADEDATAINDEXKEYCIRCEN = '/​api/​macro/​getCommTradeDataIndexKeyCircEn.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'359CATERTOURDATATRSCG = '/​api/​macro/​getCaterTourDataTRSCG.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'360CATERTOURDATAHOTELSOPER = '/​api/​macro/​getCaterTourDataHotelsOper.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'361CATERTOURDATANEWHOTEL = '/​api/​macro/​getCaterTourDataNewHotel.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'362CATERTOURDATAINBOUNDTOUR = '/​api/​macro/​getCaterTourDataInboundTour.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'363BIOMEDICINEDATASALESOUTPUT = '/​api/​macro/​getBioMedicineDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'364BIOMEDICINEDATAIMPTEXPT = '/​api/​macro/​getBioMedicineDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'365PETROCHEMDATAPRICE = '/​api/​macro/​getPetrochemDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'366PETROCHEMDATASALESOUTPUT = '/​api/​macro/​getPetrochemDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'367PETROCHEMDATAIMPTEXPT = '/​api/​macro/​getPetrochemDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'368CLOTHTEXDATAPRICE = '/​api/​macro/​getClothTexDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'369CLOTHTEXDATASALESOUTPUT = '/​api/​macro/​getClothTexDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'370CLOTHTEXDATACOTTONWASDE = '/​api/​macro/​getClothTexDataCottonWASDE.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'371CLOTHTEXDATAIMPTEXPT = '/​api/​macro/​getClothTexDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'372LIGHTMANUFDATAPRICE = '/​api/​macro/​getLightManufDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'373LIGHTMANUFDATASALESOUTPUT = '/​api/​macro/​getLightManufDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'374LIGHTMANUFDATAIMPTEXPT = '/​api/​macro/​getLightManufDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'375MININGDATAPRICE = '/​api/​macro/​getMiningDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'376MININGDATAOUTPSALESTRANSP = '/​api/​macro/​getMiningDataOutpSalesTransp.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'377MININGDATAIMPTEXPT = '/​api/​macro/​getMiningDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'378FERMETALDATAPRICE = '/​api/​macro/​getFerMetalDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'379FERMETALDATASALESOUTPUT = '/​api/​macro/​getFerMetalDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'380FERMETALDATAIMPTEXPT = '/​api/​macro/​getFerMetalDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'381NONFERMETALDATAPRICE = '/​api/​macro/​getNonferMetalDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'382NONFERMETALDATASALESOUTPUT = '/​api/​macro/​getNonferMetalDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'383NONFERMETALDATAIMPTEXPT = '/​api/​macro/​getNonferMetalDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'384DELIVERYEQDATAPRICE = '/​api/​macro/​getDeliveryEqDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'385DELIVERYEQDATASALESOUTPUT = '/​api/​macro/​getDeliveryEqDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'386DELIVERYEQDATAIMPTEXPT = '/​api/​macro/​getDeliveryEqDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'387TRAFFICTRANSDATARAILWAY = '/​api/​macro/​getTrafficTransDataRailway.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'388TRAFFICTRANSDATAROAD = '/​api/​macro/​getTrafficTransDataRoad.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'389TRAFFICTRANSDATAWATERWAY = '/​api/​macro/​getTrafficTransDataWaterway.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'390TRAFFICTRANSDATAAIR = '/​api/​macro/​getTrafficTransDataAir.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'391UTILINDUSTRYDATAPOWER = '/​api/​macro/​getUtilIndustryDataPower.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'392UTILINDUSTRYDATAWATER = '/​api/​macro/​getUtilIndustryDataWater.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'393UTILINDUSTRYDATAGAS = '/​api/​macro/​getUtilIndustryDataGas.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'394UTILINDUSTRYDATAENVIRPROT = '/​api/​macro/​getUtilIndustryDataEnvirProt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'395ELECCOMPDATAPRICE = '/​api/​macro/​getElecCompDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'396ELECCOMPDATASALESOUTPUT = '/​api/​macro/​getElecCompDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'397ELECCOMPDATAIMPTEXPT = '/​api/​macro/​getElecCompDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'398INFOEQPTDATAPRICE = '/​api/​macro/​getInfoEqptDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'399INFOEQPTDATASALESOUTPUT = '/​api/​macro/​getInfoEqptDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'400INFOEQPTDATAIMPTEXPT = '/​api/​macro/​getInfoEqptDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'401HOUSEHOLDAPLSDATASALESOUTPUT = '/​api/​macro/​getHouseholdAplsDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'402HOUSEHOLDAPLSDATAIMPTEXPT = '/​api/​macro/​getHouseholdAplsDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'403INFOSERVDATASOFTWARE = '/​api/​macro/​getInfoServDataSoftware.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'404INFOSERVDATACOMM = '/​api/​macro/​getInfoServDataComm.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'405INFOSERVDATAINTERNET = '/​api/​macro/​getInfoServDataInternet.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'406REALESTDATAPRICE = '/​api/​macro/​getRealEstDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'407REALESTDATAINVESTDVPT = '/​api/​macro/​getRealEstDataInvestDvpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'408REALESTDATALAND = '/​api/​macro/​getRealEstDataLand.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'409REALESTDATASALES = '/​api/​macro/​getRealEstDataSales.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'410BLDGMATERDATAPRICE = '/​api/​macro/​getBldgMaterDataPrice.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'411BLDGMATERDATASALESOUTPUT = '/​api/​macro/​getBldgMaterDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'412MCHNREQPTDATASALESOUTPUT = '/​api/​macro/​getMchnrEqptDataSalesOutput.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'413MCHNREQPTDATAIMPTEXPT = '/​api/​macro/​getMchnrEqptDataImptExpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'414BANKDATAASSETSLIABILITIES = '/​api/​macro/​getBankDataAssetsLiabilities.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'415BANKDATANONPERFORMINGLOANS = '/​api/​macro/​getBankDataNonPerformingLoans.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'416SECURITIESDATAOPERINDIC = '/​api/​macro/​getSecuritiesDataOperIndic.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'417INSDATAPREMPRYINSURANCE = '/​api/​macro/​getInsDataPremPryInsurance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'418INSDATACLAIMPAYMENT = '/​api/​macro/​getInsDataClaimPayment.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'419INSDATAFUNDBALANCE = '/​api/​macro/​getInsDataFundBalance.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'420INSDATAASSETS = '/​api/​macro/​getInsDataAssets.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'421ECOMMERCEDATAYILI = '/​api/​macro/​getEcommerceDataYili.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'422ECOMMERCEDATAGUANGMING = '/​api/​macro/​getEcommerceDataGuangming.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'423ECOMMERCEDATACHENGDELOLO = '/​api/​macro/​getEcommerceDataChengDeLolo.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'424ECOMMERCEDATAQIAQIA = '/​api/​macro/​getEcommerceDataQiaqia.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'425ECOMMERCEDATAVVGROUP = '/​api/​macro/​getEcommerceDataVVGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'426ECOMMERCEDATAJINFENGWINE = '/​api/​macro/​getEcommerceDataJinfengWine.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'427ECOMMERCEDATAGUYUELONGSHAN = '/​api/​macro/​getEcommerceDataGuyueLongshan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'428ECOMMERCEDATASHANXIFENJIU = '/​api/​macro/​getEcommerceDataShanxiFenjiu.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'429ECOMMERCEDATAZHANGYUA = '/​api/​macro/​getEcommerceDataZhangyuA.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'430ECOMMERCEDATAMOGAO = '/​api/​macro/​getEcommerceDataMogao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'431ECOMMERCEDATAKEMENNOODLEMFG = '/​api/​macro/​getEcommerceDataKemenNoodleMFG.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'432ECOMMERCEDATAJINZIHAM = '/​api/​macro/​getEcommerceDataJinziHam.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'433ECOMMERCEDATALOTUS = '/​api/​macro/​getEcommerceDataLotus.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'434ECOMMERCEDATABEIYINMATE = '/​api/​macro/​getEcommerceDataBeiyinMate.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'435ECOMMERCEDATAQINGDAOHAIER = '/​api/​macro/​getEcommerceDataQingdaoHaier.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'436ECOMMERCEDATATCLGROUP = '/​api/​macro/​getEcommerceDataTCLGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'437ECOMMERCEDATAMIDEAGROUP = '/​api/​macro/​getEcommerceDataMideaGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'438ECOMMERCEDATAWHIRLPOOL = '/​api/​macro/​getEcommerceDataWhirlpool.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'439ECOMMERCEDATAJOYOUNG = '/​api/​macro/​getEcommerceDataJoyoung.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'440ECOMMERCEDATAVATTI = '/​api/​macro/​getEcommerceDataVatti.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'441ECOMMERCEDATASUPOR = '/​api/​macro/​getEcommerceDataSupor.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'442ECOMMERCEDATAKONKA = '/​api/​macro/​getEcommerceDataKonka.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'443ECOMMERCEDATACHANGHONG = '/​api/​macro/​getEcommerceDataChanghong.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'444ECOMMERCEDATALITTLESWAN = '/​api/​macro/​getEcommerceDataLittleSwan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'445ECOMMERCEDATAMEILING = '/​api/​macro/​getEcommerceDataMeiling.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'446ECOMMERCEDATAZTE = '/​api/​macro/​getEcommerceDataZTE.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'447ECOMMERCEDATADATANGTELECOM = '/​api/​macro/​getEcommerceDataDatangTelecom.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'448ECOMMERCEDATABIRD = '/​api/​macro/​getEcommerceDataBird.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'449ECOMMERCEDATADAHUATECHNOLOGY = '/​api/​macro/​getEcommerceDataDahuaTechnology.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'450ECOMMERCEDATATSINGHUATONGFANG = '/​api/​macro/​getEcommerceDataTsinghuaTongfang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'451ECOMMERCEDATAHEDY = '/​api/​macro/​getEcommerceDataHedy.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'452ECOMMERCEDATAHADAY = '/​api/​macro/​getEcommerceDataHaday.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'453ECOMMERCEDATAYANJINGBEER = '/​api/​macro/​getEcommerceDataYanjingBeer.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'454ECOMMERCEDATAMAIQUER = '/​api/​macro/​getEcommerceDataMaiquer.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'455ECOMMERCEDATACITICGUOANWINE = '/​api/​macro/​getEcommerceDataCiticGuoanWine.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'456ECOMMERCEDATAQINGQINGBARLEYWINE = '/​api/​macro/​getEcommerceDataQingqingBarleyWine.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'457ECOMMERCEDATAHAOXIANGNI = '/​api/​macro/​getEcommerceDataHaoxiangni.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'458ECOMMERCEDATAFULINGZHACAI = '/​api/​macro/​getEcommerceDataFulingZhacai.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'459ECOMMERCEDATAHUANGSHANGHUANG = '/​api/​macro/​getEcommerceDataHuangshanghuang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'460ECOMMERCEDATAHAINANYEDAO = '/​api/​macro/​getEcommerceDataHainanYedao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'461ECOMMERCEDATASHUANGTAFOOD = '/​api/​macro/​getEcommerceDataShuangtaFood.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'462ECOMMERCEDATAJIUGUILIQUOR = '/​api/​macro/​getEcommerceDataJiuguiLiquor.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'463ECOMMERCEDATABLACKSESAME = '/​api/​macro/​getEcommerceDataBlackSesame.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'464ECOMMERCEDATAKINGSLUCK = '/​api/​macro/​getEcommerceDataKingsLuck.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'465ECOMMERCEDATALAOBAIGANLIQUOR = '/​api/​macro/​getEcommerceDataLaobaiganLiquor.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'466ECOMMERCEDATASHUANGHUIDVPT = '/​api/​macro/​getEcommerceDataShuanghuiDvpt.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'467OPT = '/​api/​options/​getOpt.csv?contractStatus=%s&optID=%s&secID=%s&ticker=%s&varSecID=%s&varticker=%s&field=%s'468MKTOPTD = '/​api/​market/​getMktOptd.csv?optID=%s&secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'469SOCIALDATAXQ = '/​api/​subject/​getSocialDataXQ.csv?beginDate=%s&endDate=%s&ticker=%s&field=%s'470SOCIALDATAXQBYTICKER = '/​api/​subject/​getSocialDataXQByTicker.csv?ticker=%s&field=%s'471SOCIALDATAXQBYDATE = '/​api/​subject/​getSocialDataXQByDate.csv?statisticsDate=%s&field=%s'472OPTVAR = '/​api/​options/​getOptVar.csv?exchangeCD=%s&secID=%s&ticker=%s&contractType=%s&exerType=%s&field=%s'473NEWSINFO = '/​api/​subject/​getNewsInfo.csv?newsID=%s&field=%s'474NEWSINFOBYTIME = '/​api/​subject/​getNewsInfoByTime.csv?newsPublishDate=%s&beginTime=%s&endTime=%s&field=%s'475NEWSCONTENT = '/​api/​subject/​getNewsContent.csv?newsID=%s&field=%s'476NEWSCONTENTBYTIME = '/​api/​subject/​getNewsContentByTime.csv?newsPublishDate=%s&beginTime=%s&endTime=%s&field=%s'477COMPANYBYNEWS = '/​api/​subject/​getCompanyByNews.csv?newsID=%s&field=%s'478NEWSBYCOMPANY = '/​api/​subject/​getNewsByCompany.csv?partyID=%s&beginDate=%s&endDate=%s&field=%s'479TICKERSBYNEWS = '/​api/​subject/​getTickersByNews.csv?newsID=%s&field=%s'480NEWSBYTICKERS = '/​api/​subject/​getNewsByTickers.csv?secID=%s&secShortName=%s&ticker=%s&beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'481MKTEQUDADJ = '/​api/​market/​getMktEqudAdj.csv?secID=%s&ticker=%s&tradeDate=%s&beginDate=%s&endDate=%s&field=%s'482MKTADJF = '/​api/​market/​getMktAdjf.csv?secID=%s&ticker=%s&field=%s'483OPTIONTICKRTSNAPSHOT = '/​api/​market/​getOptionTickRTSnapshot.csv?optionId=%s&field=%s'484FUTUREBARRTINTRADAY = '/​api/​market/​getFutureBarRTIntraDay.csv?instrumentID=%s&endTime=%s&startTime=%s&field=%s'485MKTFUTDVOL = '/​api/​market/​getMktFutdVol.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'486THEMESCONTENT = '/​api/​subject/​getThemesContent.csv?isMain=%s&themeID=%s&themeName=%s&themeSource=%s&field=%s'487TICKERSBYTHEMES = '/​api/​subject/​getTickersByThemes.csv?themeID=%s&themeName=%s&beginDate=%s&endDate=%s&isNew=%s&field=%s'488THEMESTICKERSINSERT = '/​api/​subject/​getThemesTickersInsert.csv?themeID=%s&themeName=%s&beginDate=%s&endDate=%s&field=%s'489THEMESTICKERSDELETE = '/​api/​subject/​getThemesTickersDelete.csv?themeID=%s&themeName=%s&beginDate=%s&endDate=%s&field=%s'490THEMESBYTICKERS = '/​api/​subject/​getThemesByTickers.csv?secID=%s&secShortName=%s&ticker=%s&beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'491THEMESPERIOD = '/​api/​subject/​getThemesPeriod.csv?isLatest=%s&themeID=%s&themeName=%s&field=%s'492ACTIVETHEMES = '/​api/​subject/​getActiveThemes.csv?date=%s&field=%s'493THEMESSIMILARITY = '/​api/​subject/​getThemesSimilarity.csv?themeID=%s&themeName=%s&field=%s'494THEMESHEAT = '/​api/​subject/​getThemesHeat.csv?themeID=%s&themeName=%s&beginDate=%s&endDate=%s&field=%s'495SECTORTHEMESBYTICKERS = '/​api/​subject/​getSectorThemesByTickers.csv?secID=%s&secShortName=%s&ticker=%s&beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'496WEBTHEMESBYTICKERS = '/​api/​subject/​getWebThemesByTickers.csv?secID=%s&secShortName=%s&ticker=%s&beginDate=%s&endDate=%s&exchangeCD=%s&field=%s'497MKTEQUDLATELY = '/​api/​market/​getMktEqudLately.csv?field=%s'498FDMTISLATELY = '/​api/​fundamental/​getFdmtISLately.csv?field=%s'499NEWSHEATINDEX = '/​api/​subject/​getNewsHeatIndex.csv?beginDate=%s&endDate=%s&exchangeCD=%s&secID=%s&secShortName=%s&ticker=%s&field=%s'500NEWSSENTIMENTINDEX = '/​api/​subject/​getNewsSentimentIndex.csv?beginDate=%s&endDate=%s&exchangeCD=%s&secID=%s&secShortName=%s&ticker=%s&field=%s'501SECTYPEREL = '/​api/​master/​getSecTypeRel.csv?secID=%s&ticker=%s&typeID=%s&field=%s'502REPORTBYTICKER = '/​api/​subject/​getReportByTicker.csv?ticker=%s&beginDate=%s&endDate=%s&field=%s'503REPORTBYCATEGORY = '/​api/​subject/​getReportByCategory.csv?beginDate=%s&Category=%s&endDate=%s&field=%s'504REPORTCONTENT = '/​api/​subject/​getReportContent.csv?ticker=%s&beginDate=%s&endDate=%s&field=%s'505MKTLIMIT = '/​api/​market/​getMktLimit.csv?secID=%s&ticker=%s&tradeDate=%s&field=%s'506ECOMMERCEDATAWULIANGYE = '/​api/​macro/​getEcommerceDataWuliangye.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'507ECOMMERCEDATAGREE = '/​api/​macro/​getEcommerceDataGree.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'508ECOMMERCEDATAHISENSEELECTRIC = '/​api/​macro/​getEcommerceDataHisenseElectric.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'509ECOMMERCEDATAHISENSE = '/​api/​macro/​getEcommerceDataHisense.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'510ECOMMERCEDATAJIAJIAFOOD = '/​api/​macro/​getEcommerceDataJiajiaFood.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'511ECOMMERCEDATAROBAM = '/​api/​macro/​getEcommerceDataRobam.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'512ECOMMERCEDATAASD = '/​api/​macro/​getEcommerceDataASD.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'513ECOMMERCEDATAMACRO = '/​api/​macro/​getEcommerceDataMacro.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'514ECOMMERCEDATAELECPRO = '/​api/​macro/​getEcommerceDataElecpro.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'515ECOMMERCEDATASANGLEJIN = '/​api/​macro/​getEcommerceDataSanglejin.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'516ECOMMERCEDATAHOMA = '/​api/​macro/​getEcommerceDataHoma.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'517ECOMMERCEDATALONGDAMEAT = '/​api/​macro/​getEcommerceDataLongdaMeat.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'518ECOMMERCEDATABYHEALTH = '/​api/​macro/​getEcommerceDataByHealth.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'519ECOMMERCEDATAHAIXIN = '/​api/​macro/​getEcommerceDataHaixin.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'520ECOMMERCEDATAVANWARD = '/​api/​macro/​getEcommerceDataVanward.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'521ECOMMERCEDATAMEIDA = '/​api/​macro/​getEcommerceDataMeida.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'522ECOMMERCEDATAHENGSHUNVINEGARINDUSTRY = '/​api/​macro/​getEcommerceDataHengshunVinegarindustry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'523ECOMMERCEDATASHUIJINGFANG = '/​api/​macro/​getEcommerceDataShuijingfang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'524ECOMMERCEDATACHUNLAN = '/​api/​macro/​getEcommerceDataChunlan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'525ECOMMERCEDATAYILITE = '/​api/​macro/​getEcommerceDataYilite.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'526ECOMMERCEDATAHUANGSHI = '/​api/​macro/​getEcommerceDataHuangshi.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'527ECOMMERCEDATAYANGHE = '/​api/​macro/​getEcommerceDataYanghe.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'528ECOMMERCEDATASANYUAN = '/​api/​macro/​getEcommerceDataSanyuan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'529ECOMMERCEDATATUOPAISHEDE = '/​api/​macro/​getEcommerceDataTuopaiShede.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'530ECOMMERCEDATAKUAIJISHAN = '/​api/​macro/​getEcommerceDataKuaijishan.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'531ECOMMERCEDATATONGHUA = '/​api/​macro/​getEcommerceDataTonghua.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'532ECOMMERCEDATAKWEICHOWMOUTAIGROUP = '/​api/​macro/​getEcommerceDataKweichowMoutaiGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'533ECOMMERCEDATATSINGTAO = '/​api/​macro/​getEcommerceDataTsingTao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'534ACTIVETHEMESINSERT = '/​api/​subject/​getActiveThemesInsert.csv?beginDate=%s&endDate=%s&isLatest=%s&themeSource=%s&field=%s'535ACTIVETHEMESDELETE = '/​api/​subject/​getActiveThemesDelete.csv?beginDate=%s&endDate=%s&isLatest=%s&themeSource=%s&field=%s'536EQUINFO = '/​api/​master/​getEquInfo.csv?ticker=%s&field=%s'537SECTIPS = '/​api/​market/​getSecTips.csv?tipsTypeCD=%s&field=%s'538THEMESCLUSTER = '/​api/​subject/​getThemesCluster.csv?isMain=%s&themeID=%s&themeName=%s&field=%s'539THEMESBYNEWS = '/​api/​subject/​getThemesByNews.csv?insertDate=%s&insertDate=%s&newsID=%s&beginTime=%s&endTime=%s&field=%s'540BARRTINTRADAYONEMINUTE = '/​api/​market/​getBarRTIntraDayOneMinute.csv?time=%s&field=%s'541EQURTRANK = '/​api/​market/​getEquRTRank.csv?desc=%s&exchangeCD=%s&field=%s'542ECOMMERCEDATAGUJING = '/​api/​macro/​getEcommerceDataGujing.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'543ECOMMERCEDATALUZHOULAOJIAO = '/​api/​macro/​getEcommerceDataLuzhouLaojiao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'544ECOMMERCEDATASHANGHAIMALING = '/​api/​macro/​getEcommerceDataShanghaiMaling.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'545ECOMMERCEDATABLACKCATTLEFOOD = '/​api/​macro/​getEcommerceDataBlackCattleFood.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'546ECOMMERCEDATADELISI = '/​api/​macro/​getEcommerceDataDelisi.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'547ECOMMERCEDATASTARLAKEBIOSCIENCE = '/​api/​macro/​getEcommerceDataStarLakeBioscience.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'548ECOMMERCEDATAJONJEEHITECH = '/​api/​macro/​getEcommerceDataJonjeeHiTech.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'549ECOMMERCEDATACRSANJIU = '/​api/​macro/​getEcommerceDataCRSanjiu.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'550ECOMMERCEDATAJIUZHITANG = '/​api/​macro/​getEcommerceDataJiuzhitang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'551ECOMMERCEDATAFUANNA = '/​api/​macro/​getEcommerceDataFuanna.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'552ECOMMERCEDATALUOLAI = '/​api/​macro/​getEcommerceDataLuolai.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'553ECOMMERCEDATAGUIRENNIAO = '/​api/​macro/​getEcommerceDataGuirenniao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'554ECOMMERCEDATABAOXINIAO = '/​api/​macro/​getEcommerceDataBaoxiniao.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'555ECOMMERCEDATALAOFENGXIANG = '/​api/​macro/​getEcommerceDataLaofengxiang.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'556ECOMMERCEDATAFIYTAA = '/​api/​macro/​getEcommerceDataFiytaA.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'557ECOMMERCEDATAGOLDLEAFJEWELRY = '/​api/​macro/​getEcommerceDataGoldleafJewelry.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'558ECOMMERCEDATACOMIXGROUP = '/​api/​macro/​getEcommerceDataComixGroup.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'559ECOMMERCEDATAYAOJIPLAYINGCARD = '/​api/​macro/​getEcommerceDataYaojiPlayingCard.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'560ECOMMERCEDATAMGSTATIONERY = '/​api/​macro/​getEcommerceDataMGStationery.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'561ECOMMERCEDATACS = '/​api/​macro/​getEcommerceDataCS.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'562ECOMMERCEDATAEDIFIER = '/​api/​macro/​getEcommerceDataEdifier.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'563ECOMMERCEDATAHIKVISION = '/​api/​macro/​getEcommerceDataHikVision.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'564ECOMMERCEDATASOLAREAST = '/​api/​macro/​getEcommerceDataSolareast.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'565ECOMMERCEDATACHIGO = '/​api/​macro/​getEcommerceDataChigo.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'566ECOMMERCEDATAAUCMA = '/​api/​macro/​getEcommerceDataAucma.csv?indicID=%s&indicName=%s&beginDate=%s&endDate=%s&field=%s'567THEMESBYNEWSCOMPANYREL = '/​api/​subject/​getThemesByNewsCompanyRel.csv?insertDate=%s&insertDate=%s&newsID=%s&beginTime=%s&endTime=%s&field=%s'568THEMESINSERTDB = '/​api/​subject/​getThemesInsertDB.csv?beginDate=%s&endDate=%s&themeSource=%s&field=%s'569THEMESBYNEWSLF = '/​api/​subject/​getThemesByNewsLF.csv?insertDate=%s&insertDate=%s&newsID=%s&beginTime=%s&endTime=%s&field=%s'570THEMESBYNEWSMF = '/​api/​subject/​getThemesByNewsMF.csv?insertDate=%s&insertDate=%s&newsID=%s&beginTime=%s&endTime=%s&field=%s'571INDUSTRYTICKRTSNAPSHOT = '/​api/​market/​getIndustryTickRTSnapshot.csv?securityID=%s&field=%s'572NEWSINFOBYINSERTTIME = '/​api/​subject/​getNewsInfoByInsertTime.csv?newsInsertDate=%s&beginTime=%s&endTime=%s&field=%s'573NEWSCONTENTBYINSERTTIME = '/​api/​subject/​getNewsContentByInsertTime.csv?newsInsertDate=%s&beginTime=%s&endTime=%s&field=%s'574SECTYPEREGIONREL = '/​api/​master/​getSecTypeRegionRel.csv?secID=%s&ticker=%s&typeID=%s&field=%s'575SECTYPE = '/​api/​master/​getSecType.csv?field=%s'576SECTYPEREGION = '/​api/​master/​getSecTypeRegion.csv?field=%s'577SOCIALDATAGUBA = '/​api/​subject/​getSocialDataGuba.csv?beginDate=%s&endDate=%s&ticker=%s&field=%s'578SOCIALTHEMEDATAGUBA = '/​api/​subject/​getSocialThemeDataGuba.csv?beginDate=%s&endDate=%s&themeID=%s&field=%s'579FUNDSHARESCHG = '/​api/​fund/​getFundSharesChg.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'580THEMESBYNEWSTIME = '/​api/​subject/​getThemesByNewsTime.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'581THEMESBYNEWSTIMECOMPANYREL = '/​api/​subject/​getThemesByNewsTimeCompanyRel.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'582THEMESBYNEWSTIMELF = '/​api/​subject/​getThemesByNewsTimeLF.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'583THEMESBYNEWSTIMEMF = '/​api/​subject/​getThemesByNewsTimeMF.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'584MKTFUNDDADJAF = '/​api/​market/​getMktFunddAdjAf.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'585REPORTCONTENTBYID = '/​api/​subject/​getReportContentByID.csv?reportID=%s&field=%s'586THEMESBYNEWS2 = '/​api/​subject/​getThemesByNews2.csv?insertBeginTime=%s&insertEndTime=%s&newsID=%s&field=%s'587THEMESBYNEWSTIME2 = '/​api/​subject/​getThemesByNewsTime2.csv?publishBeginTime=%s&publishEndTime=%s&field=%s'588SYSCODE = '/​api/​master/​getSysCode.csv?codeTypeID=%s&valueCD=%s&field=%s'589FUNDLEVERAGEINFO = '/​api/​fund/​getFundLeverageInfo.csv?exchangeCDLeverage=%s&secID=%s&ticker=%s&field=%s'590SECST = '/​api/​equity/​getSecST.csv?secID=%s&ticker=%s&beginDate=%s&endDate=%s&field=%s'591DERIV = '/​api/​IV/​getDerIv.csv?beginDate=%s&endDate=%s&optID=%s&SecID=%s&field=%s'592DERIVHV = '/​api/​IV/​getDerIvHv.csv?beginDate=%s&endDate=%s&SecID=%s&period=%s&field=%s'593DERIVINDEX = '/​api/​IV/​getDerIvIndex.csv?beginDate=%s&endDate=%s&SecID=%s&period=%s&field=%s'594DERIVIVPDELTA = '/​api/​IV/​getDerIvIvpDelta.csv?beginDate=%s&endDate=%s&SecID=%s&delta=%s&period=%s&field=%s'595DERIVPARAM = '/​api/​IV/​getDerIvParam.csv?beginDate=%s&endDate=%s&SecID=%s&expDate=%s&field=%s'596DERIVRAWDELTA = '/​api/​IV/​getDerIvRawDelta.csv?beginDate=%s&endDate=%s&SecID=%s&delta=%s&period=%s&field=%s' ...

Full Screen

Full Screen

ctrl_gen.py

Source:ctrl_gen.py Github

copy

Full Screen

1#!/​usr/​bin/​python 2import math3from ctrl_func import *4##########################################################5print "/​/​##########################################################"6print "/​/​ Generated Fowarding Adder Network Controller (FAN topology routing)"7print "/​/​ Author: Eric Qin"8print "/​/​ Contact: ecqin@gatech.edu"9print "/​/​##########################################################\n\n"10##########################################################11##########################################################12# Generating module initization and input/​output ports13##########################################################14print "module fan_ctrl # ("15print "\tparameter DATA_TYPE = ", OUT_DATA_TYPE, ","16print "\tparameter NUM_PES = ", NUM_PES, ","17print "\tparameter LOG2_PES = ", LOG2_PES, ") ("18print "\tclk,"19print "\trst,"20print "\ti_vn," # different partial sum bit seperator21print "\ti_stationary," # determine if input is for stationary or streaming 22print "\ti_data_valid," # if input data is valid or not23print "\to_reduction_add," # if adder needs to add24print "\to_reduction_cmd," # reduction command (VN outputs)25print "\to_reduction_sel," # reduction select for the N-2 muxes26print "\to_reduction_valid" # if reduction output from FAN is valid or not27print ");" 28print "\tinput clk;"29print "\tinput rst;"30print "\tinput [NUM_PES*LOG2_PES-1: 0] i_vn; /​/​ different partial sum bit seperator"31print "\tinput i_stationary; /​/​ if input data is for stationary or streaming"32print "\tinput i_data_valid; /​/​ if input data is valid or not"33print "\toutput reg [(NUM_PES-1)-1:0] o_reduction_add; /​/​ determine to add or not"34print "\toutput reg [3*(NUM_PES-1)-1:0] o_reduction_cmd; /​/​ reduction command (for VN commands)"35NUM_SEL_BITS = get_sel_bits()36print "\toutput reg [" + str(int(NUM_SEL_BITS- 1)) + " : 0] o_reduction_sel; /​/​ select bits for FAN topology"37print "\toutput reg o_reduction_valid; /​/​ if reduction output from FAN is valid or not\n"38##########################################################39# Generate wire and reg declarations 40##########################################################41# not flopped cmd and sel signals42print "\t/​/​ reduction cmd and sel control bits (not flopped for timing yet)"43print "\treg [(NUM_PES-1)-1:0] r_reduction_add;"44print "\treg [3*(NUM_PES-1)-1:0] r_reduction_cmd;"45print "\treg [" + str(int(NUM_SEL_BITS - 1)) + " : 0] r_reduction_sel;"46print "\n"47# diagonal flops for timing leveling (adder en signal)48print "\t/​/​ diagonal flops for timing fix across different levels in tree (add_en signal)"49for i in range(LOG2_PES):50 add_max_range = get_adder_lvl(i)51 print "\treg [" + str(add_max_range) + " : 0] r_add_lvl_" + str(i) + ";"52print "\n"53# diagonal flops for timing leveling (cmd signal)54print "\t/​/​ diagonal flops for timing fix across different levels in tree (cmd signal)"55for i in range(LOG2_PES):56 max_range = get_cmd_lvl(i)57 print "\treg [" + str(max_range) + " : 0] r_cmd_lvl_" + str(i) + ";"58print "\n"59 60# diagonal flops for timing leveling (sel signal)61print "\t/​/​ diagonal flops for timing fix across different levels in tree (sel signal)"62for i in range(LOG2_PES-2):63 max_range = get_sel_lvl(i+2) # plus two as first two levels do not need sel64 print "\treg [" + str(max_range) + " : 0] r_sel_lvl_" + str(i+2) + ";"65print "\n"66# timing alignment signals for i_vn delay and for output valid67VALID_DELAY = 4 # test which value works for timing alignment68CMD_SEL_DELAY = 2 # test which value works for timing alignment69print "\t/​/​ timing alignment for i_vn delay and for output valid"70print "\treg [" + str(CMD_SEL_DELAY) + "*NUM_PES*LOG2_PES-1:0] r_vn;"71print "\treg [NUM_PES*LOG2_PES-1:0] w_vn;"72print "\treg [" + str(VALID_DELAY) + " : 0 ] r_valid;" 73print "\n"74##########################################################75# Generate FF for i_vn cycle delays76##########################################################77print "\tgenvar i, x;;"78# add flip flops to delay i_vn79print "\t/​/​ add flip flops to delay i_vn"80print "\tgenerate"81print "\t\tfor (i=0; i < " + str(CMD_SEL_DELAY) + "; i=i+1) begin : vn_ff"82print "\t\t\tif (i == 0) begin: pass"83print "\t\t\t\talways @ (posedge clk) begin"84print "\t\t\t\t\tif (rst == 1'b1) begin"85print "\t\t\t\t\t\tr_vn[(i+1)*NUM_PES*LOG2_PES-1:i*NUM_PES*LOG2_PES] <= 'd0;"86print "\t\t\t\t\tend else begin"87print "\t\t\t\t\t\tr_vn[(i+1)*NUM_PES*LOG2_PES-1:i*NUM_PES*LOG2_PES] <= i_vn;"88print "\t\t\t\t\tend"89print "\t\t\t\tend"90print "\t\t\tend else begin: flop"91print "\t\t\t\talways @ (posedge clk) begin"92print "\t\t\t\t\tif (rst == 1'b1) begin"93print "\t\t\t\t\t\tr_vn[(i+1)*NUM_PES*LOG2_PES-1:i*NUM_PES*LOG2_PES] <= 'd0;"94print "\t\t\t\t\tend else begin"95print "\t\t\t\t\t\tr_vn[(i+1)*NUM_PES*LOG2_PES-1:i*NUM_PES*LOG2_PES] <= r_vn[i*NUM_PES*LOG2_PES-1:(i-1)*NUM_PES*LOG2_PES];"96print "\t\t\t\t\tend"97print "\t\t\t\tend"98print "\t\t\tend"99print "\t\tend"100print "\tendgenerate\n"101# assign last flop to w_vn102print "\t/​/​ assign last flop to w_vn"103print "\talways @(*) begin"104print "\t\tw_vn = r_vn[" + str(CMD_SEL_DELAY) + "*NUM_PES*LOG2_PES-1:" + str(CMD_SEL_DELAY-1) + "*NUM_PES*LOG2_PES];" 105print "\tend"106print "\n"107##########################################################108##########################################################109##########################################################110# Controller Logic to Compute CMD and SEL bits for each adder111##########################################################112for i in range(LOG2_PES):113 print "\t/​/​ generating control bits for lvl: " + str(i)114 if ( i < LOG2_PES -1): 115 print "\t/​/​ Note: lvl 0 and 1 do not require sel bits"116 print "\tgenerate"117 print "\t\tfor (x=0; x < " + str(NUM_PES >> (i+1)) + "; x=x+1) begin: adders_lvl_" + str(i)118 ############################################### LEFT CASE ###########################################119 print "\t\t\tif (x == 0) begin: l_edge_case"120 print "\t\t\t\talways @ (*) begin"121 print "\t\t\t\t\tif (rst == 1'b1) begin"122 print "\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 'd0;"123 print "\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 'd0;"124 if (i > 1): # need select logic for level 2 and over125 print "\t\t\t\t\t\t" + generate_sel_range(i, "full") + " = 'd0;"126 print "\t\t\t\t\tend else begin"127 print "\t\t\t\t\t\t/​/​ generate cmd logic"128 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"129 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "add", "left") + ") begin"130 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b1; /​/​ add enable"131 print "\t\t\t\t\t\t\tend else begin"132 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"133 print "\t\t\t\t\t\t\tend"134 print "\n"135 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "bothpass", "left") + ") begin"136 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b101; /​/​ both vn done"137 if (i > 0):138 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "middle") + ") begin"139 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; /​/​ right vn done"140 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "left") + ") begin"141 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; /​/​ left vn done" 142 else: 143 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "left") + ") begin"144 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; /​/​ left vn done"145 print "\t\t\t\t\t\t\tend else begin"146 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; /​/​ nothing"147 print "\t\t\t\t\t\t\tend"148 print "\t\t\t\t\t\tend else begin"149 print "\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"150 print "\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; /​/​ nothing"151 print "\t\t\t\t\t\tend\n"152 if (i > 1): # need select logic153 print "\t\t\t\t\t\t/​/​ generate left select logic"154 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"155 print generate_sel_statement(i, "left", "no")156 print "\t\t\t\t\t\tend else begin"157 print generate_sel_statement(i, "left", "yes")158 print "\t\t\t\t\t\tend\n"159 print "\n\t\t\t\t\t\t/​/​ generate right select logic"160 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"161 print generate_sel_statement(i, "right", "no")162 print "\t\t\t\t\t\tend else begin"163 print generate_sel_statement(i, "right", "yes")164 print "\t\t\t\t\t\tend\n"165 print "\t\t\t\t\tend"166 print "\t\t\t\tend"167 ############################################### RIGHT CASE ###########################################168 print "\t\t\tend else if (x == " + str((NUM_PES >> (i+1)) -1 ) + ") begin: r_edge_case"169 print "\t\t\t\talways @ (*) begin"170 print "\t\t\t\t\tif (rst == 1'b1) begin"171 print "\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 'd0;"172 print "\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 'd0;"173 if (i > 1): # need select logic for level 2 and over174 print "\t\t\t\t\t\t" + generate_sel_range(i, "full") + " = 'd0;" 175 print "\t\t\t\t\tend else begin"176 print "\t\t\t\t\t\t/​/​ generate cmd logic"177 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"178 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "add", "right") + ") begin"179 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b1; /​/​ add enable"180 print "\t\t\t\t\t\t\tend else begin"181 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"182 print "\t\t\t\t\t\t\tend"183 print "\n"184 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "bothpass", "right") + ") begin"185 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b101; /​/​ both vn done"186 if (i > 0):187 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "middle") + ") begin"188 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; /​/​ left vn done"189 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "right") + ") begin"190 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; /​/​ right vn done" 191 else: 192 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "right") + ") begin"193 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; /​/​ right vn done"194 print "\t\t\t\t\t\t\tend else begin"195 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; /​/​ nothing"196 print "\t\t\t\t\t\t\tend\n"197 print "\t\t\t\t\t\tend else begin"198 print "\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"199 print "\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; /​/​ nothing"200 print "\t\t\t\t\t\tend\n"201 if (i > 1): # need select logic202 print "\t\t\t\t\t\t/​/​ generate left select logic"203 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"204 print generate_sel_statement(i, "left", "no")205 print "\t\t\t\t\t\tend else begin"206 print generate_sel_statement(i, "left", "yes")207 print "\t\t\t\t\t\tend\n"208 print "\n\t\t\t\t\t\t/​/​ generate right select logic"209 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"210 print generate_sel_statement(i, "right", "no")211 print "\t\t\t\t\t\tend else begin"212 print generate_sel_statement(i, "right", "yes")213 print "\t\t\t\t\t\tend\n"214 print "\t\t\t\t\tend"215 print "\t\t\t\tend" 216 ############################################### NORMAL ###########################################217 print "\t\t\tend else begin: normal"218 print "\t\t\t\talways @ (*) begin"219 print "\t\t\t\t\tif (rst == 1'b1) begin"220 print "\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 'd0;"221 print "\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 'd0;"222 if (i > 1): # need select logic for level 2 and over223 print "\t\t\t\t\t\t" + generate_sel_range(i, "full") + " = 'd0;"224 print "\t\t\t\t\tend else begin"225 print "\t\t\t\t\t\t/​/​ generate cmd logic"226 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"227 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "add", "middle") + ") begin"228 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b1; /​/​ add enable"229 print "\t\t\t\t\t\t\tend else begin"230 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"231 print "\t\t\t\t\t\t\tend"232 print "\n"233 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "bothpass", "middle") + ") begin"234 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b101; /​/​ both vn done"235 if (i > 0):236 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "middle") + ") begin"237 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; /​/​ right vn done"238 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "middle") + ") begin"239 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; /​/​ left vn done" 240 else:241 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "middle") + ") begin"242 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; /​/​ right vn done"243 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "middle") + ") begin"244 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; /​/​ left vn done"245 print "\t\t\t\t\t\t\tend else begin"246 if (i == 0): # bypass247 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b001; /​/​ bypass"248 else: # no bypass needed249 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; /​/​ nothing"250 print "\t\t\t\t\t\t\tend\n"251 print "\t\t\t\t\t\tend else begin"252 print "\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"253 print "\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; /​/​ nothing"254 print "\t\t\t\t\t\tend\n"255 if (i > 1): # need select logic256 print "\t\t\t\t\t\t/​/​ generate left select logic"257 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"258 print generate_sel_statement(i, "left", "no") 259 print "\t\t\t\t\t\tend else begin"260 print generate_sel_statement(i, "left", "yes")261 print "\t\t\t\t\t\tend\n"262 print "\n\t\t\t\t\t\t/​/​ generate right select logic"263 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"264 print generate_sel_statement(i, "right", "no")265 print "\t\t\t\t\t\tend else begin"266 print generate_sel_statement(i, "right", "yes")267 print "\t\t\t\t\t\tend\n"268 print "\t\t\t\t\tend"269 print "\t\t\t\tend" 270 print "\t\t\tend"271 print "\t\tend"272 print "\tendgenerate\n"273 ############################################### LAST LEVEL ###########################################274 else: # last level275 print "\tgenerate"276 print "\t\tfor (x=0; x < " + str(NUM_PES >> (i+1)) + "; x=x+1) begin: adders_lvl_" + str(i)277 print "\t\t\tif (x == 0) begin: middle_case"278 print "\t\t\t\talways @ (*) begin"279 print "\t\t\t\t\tif (rst == 1'b1) begin"280 print "\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 'd0;"281 print "\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 'd0;"282 if (i > 1): # need select logic for level 2 and over283 print "\t\t\t\t\t\t" + generate_sel_range(i, "full") + " = 'd0;"284 print "\t\t\t\t\tend else begin"285 print "\t\t\t\t\t\t/​/​ generate cmd logic"286 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"287 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "add", "last") + ") begin"288 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b1; /​/​ add enable"289 print "\t\t\t\t\t\t\tend else begin"290 print "\t\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"291 print "\t\t\t\t\t\t\tend"292 print "\n"293 print "\t\t\t\t\t\t\tif (" + generate_lvl_wn_range(i, "bothpass", "last") + ") begin"294 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b101; /​/​ both vn done"295 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "rightpass", "last") + ") begin"296 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b100; /​/​ right vn done"297 print "\t\t\t\t\t\t\tend else if (" + generate_lvl_wn_range(i, "leftpass", "last") + ") begin"298 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b011; /​/​ left vn done"299 print "\t\t\t\t\t\t\tend else begin"300 print "\t\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; /​/​ nothing"301 print "\t\t\t\t\t\t\tend\n"302 print "\t\t\t\t\t\tend else begin"303 print "\t\t\t\t\t\t\tr_reduction_add[" + get_cmd_shift_accum(i) + "+x] = 1'b0;"304 print "\t\t\t\t\t\t\tr_reduction_cmd[3*" + get_cmd_shift_accum(i) + "+3*x+:3] = 3'b000; /​/​ nothing"305 print "\t\t\t\t\t\tend\n"306 if (i > 1): # need select logic307 print "\t\t\t\t\t\t/​/​ generate left select logic"308 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"309 print generate_sel_statement(i, "left", "no")310 print "\t\t\t\t\t\tend else begin"311 print generate_sel_statement(i, "left", "yes")312 print "\t\t\t\t\t\tend\n"313 print "\n\t\t\t\t\t\t/​/​ generate right select logic"314 print "\t\t\t\t\t\tif (r_valid[" + str(CMD_SEL_DELAY-1) + "] == 1'b1) begin"315 print generate_sel_statement(i, "right", "no")316 print "\t\t\t\t\t\tend else begin"317 print generate_sel_statement(i, "right", "yes")318 print "\t\t\t\t\t\tend\n"319 print "\t\t\t\t\tend"320 print "\t\t\t\tend"321 print "\t\t\tend"322 print "\t\tend"323 print "\tendgenerate\n"324print "\n"325##########################################################326# Generate diagonal flops cmd/​sel timing alignment327##########################################################328# flops to adjust for timing329print "\t/​/​ generate diagonal flops for cmd and sel timing alignment"330print "\talways @ (posedge clk) begin"331print "\t\tif (rst == 1'b1) begin"332for i in range(LOG2_PES):333 print "\t\t\tr_add_lvl_" + str(i) + " <= 'd0;"334print "\n"335for i in range(LOG2_PES):336 print "\t\t\tr_cmd_lvl_" + str(i) + " <= 'd0;"337print "\n"338for i in range(LOG2_PES-2):339 print "\t\t\tr_sel_lvl_" + str(i+2) + " <= 'd0;"340print "\t\tend else begin"341for i in range(LOG2_PES):342 num_adder = num_adders_in_lvl(i)343 for j in range(i+1):344 if (j == 0):345 print "\t\t\tr_add_lvl_" + str(i) + "[" + str(num_adder-1) + ":0] <= r_reduction_add" + get_lvl_add_range(i) + ";"346 else:347 print "\t\t\tr_add_lvl_" + str(i) + "[" + str((j+1)*num_adder-1) + ":" + str(j*num_adder) + "] <= r_add_lvl_" + str(i) + "[" + str(j*num_adder-1) + ":" + str((j-1)*num_adder) + "];"348print "\n"349for i in range(LOG2_PES):350 num_adder = num_adders_in_lvl(i)351 for j in range(i+1):352 if (j == 0):353 print "\t\t\tr_cmd_lvl_" + str(i) + "[" + str(3*num_adder-1) + ":0] <= r_reduction_cmd" + get_lvl_cmd_range(i) + ";"354 else:355 print "\t\t\tr_cmd_lvl_" + str(i) + "[" + str((j+1)*3*num_adder-1) + ":" + str(j*3*num_adder) + "] <= r_cmd_lvl_" + str(i) + "[" + str(j*3*num_adder-1) + ":" + str((j-1)*3*num_adder) + "];"356print "\n"357for i in range(LOG2_PES-2):358 num_sel = num_sel_bits_in_lvl(i+2)359 for j in range(i+3):360 if (j == 0):361 print "\t\t\tr_sel_lvl_" + str(i+2) + "[" + str(num_sel-1) + ":0] <= r_reduction_sel" + get_lvl_sel_range(i+2) + ";"362 else:363 print "\t\t\tr_sel_lvl_" + str(i+2) + "[" + str((j+1)*num_sel-1) + ":" + str(j*num_sel) + "] <= r_sel_lvl_" + str(i+2) + "[" + str(j*num_sel-1) + ":" + str((j-1)*num_sel) + "];"364print "\t\tend" 365print "\tend"366print "\n"367##########################################################368# Assigning final outputs369##########################################################370# Adjust output valid timing and logic..371print "\t/​/​ Adjust output valid timing and logic"372print "\talways @ (posedge clk) begin"373print "\t\tif (i_stationary == 1'b0 && i_data_valid == 1'b1) begin"374print "\t\t\tr_valid[0] <= 1'b1;"375print "\t\tend else begin"376print "\t\t\tr_valid[0] <= 1'b0;"377print "\t\tend"378print "\tend\n"379print "\tgenerate"380print "\t\tfor (i=0; i < " + str(VALID_DELAY) + "; i=i+1) begin"381print "\t\t\talways @ (posedge clk) begin"382print "\t\t\t\tif (rst == 1'b1) begin"383print "\t\t\t\t\tr_valid[i+1] <= 1'b0;"384print "\t\t\t\tend else begin"385print "\t\t\t\t\tr_valid[i+1] <= r_valid[i];"386print "\t\t\t\tend"387print "\t\t\tend"388print "\t\tend"389print "\tendgenerate\n"390print "\talways @ (*) begin"391print "\t\tif (rst == 1'b1) begin"392print "\t\t\to_reduction_valid <= 1'b0;"393print "\t\tend else begin"394print "\t\t\to_reduction_valid <= r_valid[" + str(int(VALID_DELAY-1)) + "];"395print "\t\tend"396print "\tend\n"397# Assigning final outputs for both diagonal flopped cmd and sel398print "\t/​/​ assigning diagonally flopped cmd and sel"399print "\talways @ (posedge clk) begin"400print "\t\tif (rst == 1'b1) begin"401print "\t\t\to_reduction_add <= 'd0;"402print "\t\t\to_reduction_cmd <= 'd0;"403print "\t\t\to_reduction_sel <= 'd0;"404print "\t\tend else begin"405print "\t\t\to_reduction_add <= " + gen_o_reduction_add(LOG2_PES, NUM_PES)406print "\t\t\to_reduction_cmd <= " + gen_o_reduction_cmd(LOG2_PES, NUM_PES)407print "\t\t\to_reduction_sel <= " + gen_o_reduction_sel(LOG2_PES, NUM_PES)408print "\t\tend"409print "\tend\n"...

Full Screen

Full Screen

test_pass_merge_compiler_regions.py

Source:test_pass_merge_compiler_regions.py Github

copy

Full Screen

...34 otherwise both subgraphs would depend on the other.35 """36 def diamond_graph_fanouts():37 data = relay.var('data', shape=(10, 10))38 cb_1 = compiler_begin(data, "test")39 O_1 = relay.abs(cb_1)40 ce_1 = compiler_end(O_1, "test")41 ce_2 = compiler_end(O_1, "test")42 cb_2 = compiler_begin(ce_1, "test")43 cb_3 = compiler_begin(ce_2, "default")44 O_2 = relay.nn.relu(cb_2)45 ce_3 = compiler_end(O_2, "test")46 X = relay.tanh(cb_3)47 ce_4 = compiler_end(X, "default")48 cb_4 = compiler_begin(ce_3, "test")49 cb_5 = compiler_begin(ce_4, "test")50 O_3 = relay.add(cb_4, cb_5)51 ce_5 = compiler_end(O_3, "test")52 diamond = relay.Function([data], ce_5)53 return diamond54 def expected():55 data = relay.var('data', shape=(10, 10))56 cb_1 = compiler_begin(data, "test")57 O_1 = relay.abs(cb_1)58 ce_2 = compiler_end(O_1, "test")59 O_2 = relay.nn.relu(O_1)60 ce_3 = compiler_end(O_2, "test")61 cb_3 = compiler_begin(ce_2, "default")62 X = relay.tanh(cb_3)63 ce_4 = compiler_end(X, "default")64 cb_4 = compiler_begin(ce_3, "test")65 cb_5 = compiler_begin(ce_4, "test")66 O_3 = relay.add(cb_4, cb_5)67 ce_5 = compiler_end(O_3, "test")68 func = relay.Function([data], ce_5)69 return func70 result = run_opt_pass(diamond_graph_fanouts(), relay.transform.MergeCompilerRegions())71 golden = run_opt_pass(expected(), relay.transform.InferType())72 assert tvm.ir.structural_equal(result, golden)73def test_example_graph():74 """This tests the merging algorithm on the example used in the RFC.75 See the RFC here: https:/​/​discuss.tvm.ai/​t/​relay-improved-graph-partitioning-algorithm/​583076 Blue nodes are adds (target: test), red nodes are subtracts (target: default).77 """78 def annotated():79 in_1 = relay.var('in_1', shape=(10, 10), dtype='float32')80 in_2 = relay.var('in_2', shape=(10, 10), dtype='float32')81 in_3 = relay.var('in_3', shape=(10, 10), dtype='float32')82 in_4 = relay.var('in_4', shape=(10, 10), dtype='float32')83 in_5 = relay.var('in_5', shape=(10, 10), dtype='float32')84 in_6 = relay.var('in_6', shape=(10, 10), dtype='float32')85 in_7 = relay.var('in_7', shape=(10, 10), dtype='float32')86 in_8 = relay.var('in_8', shape=(10, 10), dtype='float32')87 in_9 = relay.var('in_9', shape=(10, 10), dtype='float32')88 in_10 = relay.var('in_10', shape=(10, 10), dtype='float32')89 begin0 = compiler_begin(in_1, "test")90 begin1 = compiler_begin(in_2, "test")91 begin2 = compiler_begin(in_3, "test")92 begin3 = compiler_begin(in_4, "test")93 node0 = relay.add(begin0, begin1)94 node1 = relay.add(begin2, begin3)95 end0 = compiler_end(node0, "test")96 end1 = compiler_end(node1, "test")97 begin4 = compiler_begin(end0, "test")98 begin5 = compiler_begin(end1, "test")99 node2 = relay.add(begin4, begin5)100 end2 = compiler_end(node2, "test")101 dbegin0 = compiler_begin(in_5, "default")102 dbegin1 = compiler_begin(in_6, "default")103 node3 = relay.subtract(dbegin0, dbegin1)104 dbegin2 = compiler_begin(in_7, "default")105 dend1 = compiler_end(node3, "default")106 dbegin3 = compiler_begin(dend1, "default")107 node4 = relay.subtract(dbegin2, dbegin3)108 dend2 = compiler_end(node4, "default")109 begin6 = compiler_begin(end2, "test")110 begin7 = compiler_begin(dend2, "test")111 node5 = relay.add(begin6, begin7)112 end3 = compiler_end(node5, "test")113 end4 = compiler_end(node5, "test")114 dbegin4 = compiler_begin(in_8, "default")115 dbegin5 = compiler_begin(end3, "default")116 node6 = relay.subtract(dbegin4, dbegin5)117 begin8 = compiler_begin(in_9, "test")118 begin9 = compiler_begin(end4, "test")119 node7 = relay.add(begin8, begin9)120 end5 = compiler_end(node7, "test")121 dend3 = compiler_end(node6, "default")122 begin10 = compiler_begin(dend3, "test")123 begin11 = compiler_begin(end5, "test")124 node8 = relay.add(begin10, begin11)125 end6 = compiler_end(node8, "test")126 begin12 = compiler_begin(in_10, "test")127 begin13 = compiler_begin(end6, "test")128 node9 = relay.add(begin12, begin13)129 end7 = compiler_end(node9, "test")130 f = relay.Function([in_1, in_2, in_3, in_4, in_5, in_6, in_7, in_8, in_9, in_10], end7)131 mod = tvm.IRModule.from_expr(f)132 return mod133 def expected():134 in_1 = relay.var('in_1', shape=(10, 10), dtype='float32')135 in_2 = relay.var('in_2', shape=(10, 10), dtype='float32')136 in_3 = relay.var('in_3', shape=(10, 10), dtype='float32')137 in_4 = relay.var('in_4', shape=(10, 10), dtype='float32')138 in_5 = relay.var('in_5', shape=(10, 10), dtype='float32')139 in_6 = relay.var('in_6', shape=(10, 10), dtype='float32')140 in_7 = relay.var('in_7', shape=(10, 10), dtype='float32')141 in_8 = relay.var('in_8', shape=(10, 10), dtype='float32')142 in_9 = relay.var('in_9', shape=(10, 10), dtype='float32')143 in_10 = relay.var('in_10', shape=(10, 10), dtype='float32')144 begin0 = compiler_begin(in_1, "test")145 begin1 = compiler_begin(in_2, "test")146 begin2 = compiler_begin(in_3, "test")147 begin3 = compiler_begin(in_4, "test")148 node0 = relay.add(begin0, begin1)149 node1 = relay.add(begin2, begin3)150 node2 = relay.add(node0, node1)151 dbegin0 = compiler_begin(in_5, "default")152 dbegin1 = compiler_begin(in_6, "default")153 dbegin2 = compiler_begin(in_7, "default")154 node3 = relay.subtract(dbegin0, dbegin1)155 node4 = relay.subtract(dbegin2, node3)156 dend0 = compiler_end(node4, "default")157 begin4 = compiler_begin(dend0, "test")158 begin5 = compiler_begin(in_9, "test")159 node5 = relay.add(node2, begin4)160 end1 = compiler_end(node5, "test")161 dbegin4 = compiler_begin(end1, "default")162 dbegin5 = compiler_begin(in_8, "default")163 node6 = relay.subtract(dbegin5, dbegin4)164 dend1 = compiler_end(node6, "default")165 node7 = relay.add(begin5, node5)166 end2 = compiler_end(node7, "test")167 begin6 = compiler_begin(end2, "test")168 begin7 = compiler_begin(dend1, "test")169 node8 = relay.add(begin7, begin6)170 begin8 = compiler_begin(in_10, "test")171 node9 = relay.add(begin8, node8)172 end3 = compiler_end(node9, "test")173 f = relay.Function([in_1, in_2, in_3, in_4, in_5, in_6, in_7, in_8, in_9, in_10], end3)174 mod = tvm.IRModule.from_expr(f)175 return mod176 mod = annotated()177 mod = relay.transform.MergeCompilerRegions()(mod)178 ref_mod = expected()179 assert tvm.ir.structural_equal(mod, ref_mod)180if __name__ == "__main__":181 test_diamond_graph_fanouts()...

Full Screen

Full Screen

127.单词接龙.py

Source:127.单词接龙.py Github

copy

Full Screen

1# 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:2#3# 每次转换只能改变一个字母。4# 转换过程中的中间单词必须是字典中的单词。5# 说明:6#7# 如果不存在这样的转换序列,返回 0。8# 所有单词具有相同的长度。9# 所有单词只由小写字母组成。10# 字典中不存在重复的单词。11# 你可以假设 beginWord 和 endWord 是非空的,且二者不相同。12# 示例 1:13#14# 输入:15# beginWord = "hit",16# endWord = "cog",17# wordList = ["hot","dot","dog","lot","log","cog"]18#19# 输出: 520#21# 解释: 一个最短转换序列是 "hit" -> "hot" -> "dot" -> "dog" -> "cog",22# 返回它的长度 5。23# 基于上面的思路我们考虑如何编程实现。24#25# 首先为了方便表示,我们先给每一个单词标号,即给每个单词分配一个 id。创建一个由单词 word 到 id 对应的映射 wordId,并将 beginWord 与 wordList 中所有的单词都加入这个映射中。之后我们检查 endWord 是否在该映射内,若不存在,则输入无解。我们可以使用哈希表实现上面的映射关系。26#27# 然后我们需要建图,依据朴素的思路,我们可以枚举每一对单词的组合,判断它们是否恰好相差一个字符,以判断这两个单词对应的节点是否能够相连。但是这样效率太低,我们可以优化建图。28#29# 具体地,我们可以创建虚拟节点。对于单词 hit,我们创建三个虚拟节点 *it、h*t、hi*,并让 hit 向这三个虚拟节点分别连一条边即可。如果一个单词能够转化为 hit,那么该单词必然会连接到这三个虚拟节点之一。对于每一个单词,我们枚举它连接到的虚拟节点,把该单词对应的 id 与这些虚拟节点对应的 id 相连即可。30#31# 最后我们将起点加入队列开始广度优先搜索,当搜索到终点时,我们就找到了最短路径的长度。注意因为添加了虚拟节点,所以我们得到的距离为实际最短路径长度的两倍。同时我们并未计算起点对答案的贡献,所以我们应当返回距离的一半再加一的结果。32#33# 双向bfs34class Solution(object):35 def ladderLength(self, beginWord, endWord, wordList):36 """37 :type beginWord: str38 :type endWord: str39 :type wordList: List[str]40 :rtype: int41 """42 character = 'abcdefghijklmnopqrstuvwxyz'43 def dijkstra(new_list,unreached_list,endWord,count):44 if unreached_list==[] or new_list==[]:45 return 046 count = count + 147 list_return = []48 for i in range(len(new_list)):49 for j in range(len(new_list[i])):50 for k in character:51 temp = new_list[i]52 tmp1 = temp[:j]53 tmp2 = temp[j+1:]54 temp = tmp1+k+tmp255 if temp==new_list[i][j]:56 continue57 else:58 if temp in unreached_list:59 list_return.append(temp)60 if temp==endWord:61 return count62 del unreached_list[temp]63 return dijkstra(list_return,unreached_list,endWord,count)64 begin = []65 begin.append(beginWord)66 dict_unreach = {}67 for i in range(len(wordList)):68 if wordList[i] not in dict_unreach:69 dict_unreach[wordList[i]] = 170 return dijkstra(begin,dict_unreach,endWord,1)71import collections72class Solution:73 def ladderLength(self, beginWord, endWord, wordList) :74 def addWord(word):75 if word not in wordId:76 nonlocal nodeNum77 wordId[word] = nodeNum78 nodeNum += 179 def addEdge(word):80 addWord(word)81 id1 = wordId[word]82 chars = list(word)83 for i in range(len(chars)):84 tmp = chars[i]85 chars[i] = "*"86 newWord = "".join(chars)87 addWord(newWord)88 id2 = wordId[newWord]89 edge[id1].append(id2)90 edge[id2].append(id1)91 chars[i] = tmp92 wordId = dict()93 edge = collections.defaultdict(list)94 nodeNum = 095 for word in wordList:96 addEdge(word)97 addEdge(beginWord)98 if endWord not in wordId:99 return 0100 disBegin = [float("inf")] * nodeNum101 beginId = wordId[beginWord]102 disBegin[beginId] = 0103 queBegin = collections.deque([beginId])104 disEnd = [float("inf")] * nodeNum105 endId = wordId[endWord]106 disEnd[endId] = 0107 queEnd = collections.deque([endId])108 while queBegin or queEnd:109 queBeginSize = len(queBegin)110 for _ in range(queBeginSize):111 nodeBegin = queBegin.popleft()112 if disEnd[nodeBegin] != float("inf"):113 return (disBegin[nodeBegin] + disEnd[nodeBegin]) /​/​ 2 + 1114 for it in edge[nodeBegin]:115 if disBegin[it] == float("inf"):116 disBegin[it] = disBegin[nodeBegin] + 1117 queBegin.append(it)118 queEndSize = len(queEnd)119 for _ in range(queEndSize):120 nodeEnd = queEnd.popleft()121 if disBegin[nodeEnd] != float("inf"):122 return (disBegin[nodeEnd] + disEnd[nodeEnd]) /​/​ 2 + 1123 for it in edge[nodeEnd]:124 if disEnd[it] == float("inf"):125 disEnd[it] = disEnd[nodeEnd] + 1126 queEnd.append(it)...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run SeleniumBase automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful