%% To do:
%% insert first names wherever possible
%% regularize POPL spellings
%% get rid of ACM Press when it appears with POPL
%%    - find volume numbers of LNCS, etc.
%%    - fix up "to appear"
%%    - find journal versions of conference papers
%%    - find published versions of TRs
%%    - find spellings of first names
%%    - nuke crossreferences

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                                                       %%
%%              My Bibliography (from bcp.bib)                           %%
%%                                                                       %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Conventions:
%    * Common conferences (POPL, ICFP, etc.) are defined in strings, for
%      uniformity.  These strings include...
%         *not* "proceedings of the" or whatever (waste of ink, since
%            'symposium' or whatever is included)
%         the sponsoring organization (which means that it's not
%            necessary to list "ACM Press" as the publisher)
%         "international symposium" or whatever
%         *not* "twentieth" or whatever
%         the conference name spelled out in full
%         its common acronym, if any
%         the location of that year's meeting, if I know it

% Some special fields:
%     checked     Set to "yes" or a date if the citation has been
%                 checked against a physical copy of the document
%     fullauthor  Present in some cases where the author's name appears in
%                 abbreviated form on the actual document, but where
%                 I happened to know their full name.  The portion of
%                 the name that does not appear on the document is
%                 placed in square brackets, following standard
%                 practice in some publishing houses.
%     fulleditor  Similar.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%                       String Definitions                         %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Publishing houses
% %%%%%%%%%%%%%%%%%
@STRING{ap       = "Academic Press" }
@STRING{springer = {Springer-Verlag} }
@STRING{elsevier = "Elsevier" }
@STRING{epic     = "EPiC Series in Computing" }
@STRING{entcs    = "Electronic Notes in Theoretical Computer Science" }
@STRING{eptcs    = "Electronic Proceedings in Theoretical Computer Science" }
@STRING{lncs     = "Lecture Notes in Computer Science" }
@STRING{pacm     = "Proceedings of the {ACM}" }
@STRING{pacmpl   = "Proceedings of the {ACM} on Programming Languages" }
@STRING{pomacs   = "Proceedings of the {ACM} on Measurement and Analysis of Computing Systems" }
@STRING{lipics   = "Leibniz International Proceedings in Informatics" }
@STRING{lnm      = "Lecture Notes in Mathematics" }
@STRING{gtm      = "Graduate Texts in Mathematics" }
@STRING{lfcs     = "Laboratory for Foundations of Computer Science,
                    University of Edinburgh" }
@STRING{jmlr     = "Journal of Machine Learning Research"}
@STRING{pmlr     = "Proceedings of Machine Learning Research"}
@STRING{mp       = "MIT Press" }
@STRING{mitpress = mp }
@STRING{now = "now publishers" }
@STRING{dagstuhl = "Schloss Dagstuhl--Leibniz Center for Informatics" }
@STRING{informs  = "INFORMS" }
%
% Journals and magazines
% %%%%%%%%%%%%%%%%%%%%%%
@STRING{toplas   = "ACM Transactions on Programming Languages and Systems" }
@STRING{jlp      = {Journal of Logic Programming} }
@STRING{ieee     = "IEEE" }
@STRING{acmpress = "ACM Press" }
@STRING{bepress  = "Berkeley Electronic Press" }
@STRING{cacm     = "Communications of the {ACM}" }
@STRING{jacm     = "Journal of the {ACM}" }
@STRING{tcs      = "Theoretical Computer Science" }
@STRING{jsl      = "Journal of Symbolic Logic" }
@STRING{bsl      = "Bulletin of Symbolic Logic" }
@STRING{jcss     = "Journal of Computer and System Sciences"}
@STRING{siamjc   = "SIAM Journal on Computing" }
@STRING{mscs     = "Mathematical Structures in Computer Science" }
@STRING{proc     = "Proceedings of the" }
@STRING{ic       = "Information and Computation" }
@STRING{iandcomp = {Information and Computation} }
@STRING{jfp      = "Journal of Functional Programming" }
@STRING{cup      = "Cambridge University Press" }
@STRING{mcgh     = "McGraw-Hill" }
@STRING{nh       = "North Holland" }
@STRING{sv       = "Springer-Verlag" }
@STRING{aw       = "Addison-Wesley" }
@STRING{ph       = "Prentice Hall" }
@STRING{tose     = "IEEE Transactions on Software Engineering" }
%@STRING{taoop   = "C[arl] A. Gunter and J[ohn] C. Mitchell, editors, {\em
%                  Theoretical Aspects of Object-Oriented Programming:
%                  Types, Semantics, and Language Design}, MIT Press, 1994" }
@STRING{taoop    = "C. A. Gunter and J. C. Mitchell, editors, {\em
                   Theoretical Aspects of Object-Oriented Programming:
                   Types, Semantics, and Language Design}, MIT Press, 1994" }
@STRING{tissec   = "ACM Transactions on Information and System Security"}
@STRING{sigecom  = "ACM {SIG}ecom {E}xchanges"}
@STRING{jet      = "Journal of Economic Theory"}
@STRING{geb      = "Games and Economic Behavior"}
@STRING{jufks    = "{I}nternational {J}ournal of {U}ncertainty, {F}uzziness and
  {K}nowledge-{B}ased {S}ystems"}
@STRING{toc      = "Theory of Computing"}
@STRING{jmlrproc = "JMLR: Workshop and Conference Proceedings"}
@STRING{jpc      = "Journal of Privacy and Confidentiality"}
@STRING{mor      = "Mathematics of Operations Research"}
@STRING{lmcs     = "Logical Methods in Computer Science" }
%
% Misc
% %%%%
@STRING{yes = "Yes" }
@STRING{no  = "No" }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                             Conferences                                %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@STRING{pods        = "{ACM} {SIGACT--SIGMOD--SIGART} {S}ymposium on
                      {P}rinciples of {D}atabase {S}ystems (PODS)"}

@STRING{pods03      = pods # ", San Diego, California"}
@STRING{pods05      = pods # ", Baltimore, Maryland"}
@STRING{pods06      = pods # ", Chicago, Illinois" }
@STRING{pods07      = pods # ", Beijing, China" }
@STRING{pods10      = pods # ", Indianapolis, Indiana" }

@STRING{popl        = "{ACM} {SIGPLAN--SIGACT} {S}ymposium on {P}rinciples of
                      {P}rogramming {L}anguages ({POPL})" }
@STRING{poplpre92   = "{ACM} {S}ymposium on {P}rinciples of {P}rogramming
                      {L}anguages ({POPL})" }

@STRING{popl73      = poplpre92 # ", Boston, Massachusetts" }
@STRING{popl75      = poplpre92 # ", Palo Alto, California" }
@STRING{popl76      = poplpre92 # ", {A}tlanta, {G}eorgia" }
@STRING{popl77      = poplpre92 # ", Los Angeles, California" }
@STRING{popl78      = poplpre92 # ", Tucson, Arizona" }
@STRING{popl79      = poplpre92 # ", San Antonio, Texas" }
@STRING{popl80      = poplpre92 # ", Las Vegas, Nevada" }
@STRING{popl81      = poplpre92 # ", Williamsburg, Virginia" }
@STRING{popl82      = poplpre92 # ", Albuquerque, New Mexico" }
@STRING{popl83      = poplpre92 # ", Austin, Texas" }
@STRING{popl84      = poplpre92 # ", Salt Lake City, Utah" }
@STRING{popl85      = poplpre92 # ", New Orleans, Louisiana" }
@STRING{popl86      = poplpre92 # ", St.\ Petersburg Beach, Florida" }
@STRING{popl87      = poplpre92 # ", Munich, Germany" }
@STRING{popl88      = poplpre92 # ", San Diego, California" }
@STRING{popl89      = poplpre92 # ", Austin, Texas" }
@STRING{popl90      = poplpre92 # ", {S}an {F}rancisco, {C}alifornia" }
@STRING{popl91      = poplpre92 # ", Orlando, Florida" }
@STRING{popl92      = popl # ", Albuquerque, New Mexico" }
@STRING{popl93      = popl # ", Charleston, South Carolina" }
@STRING{popl94      = popl # ", {P}ortland, {O}regon" }
@STRING{popl95      = popl # ", San Francisco, California" }
@STRING{popl96      = popl # ", St.~Petersburg Beach, Florida" }
@STRING{popl97      = popl # ", Paris, France" }
@STRING{popl98      = popl # ", San Diego, California" }
@STRING{popl99      = popl # ", San Antonio, Texas" }
@STRING{popl00      = popl # ", Boston, Massachusetts" }
@STRING{popl01      = popl # ", London, England" }
@STRING{popl02      = popl # ", Portland, Oregon" }
@STRING{popl03      = popl # ", New Orleans, Louisiana" }
@STRING{popl04      = popl # ", Venice, Italy" }
@STRING{popl05      = popl # ", Long Beach, California" }
@STRING{popl06      = popl # ", Charleston, South Carolina" }
@STRING{popl07      = popl # ", Nice, France" }
@STRING{popl08      = popl # ", San Francisco, California" }
@STRING{popl09      = popl # ", Savannah, Georgia" }
@STRING{popl10      = popl # ", Madrid, Spain" }
@STRING{popl11      = popl # ", Austin, Texas" }
@STRING{popl12      = popl # ", Philadelphia, Pennsylvania" }
@STRING{popl13      = popl # ", Rome, Italy" }
@STRING{popl14      = popl # ", San Diego, California" }
@STRING{popl15      = popl # ", Mumbai, India" }
@STRING{popl16      = popl # ", Saint Petersburg, Florida" }
@STRING{popl17      = popl # ", Paris, France" }
@STRING{popl18      = popl # ", Los Angeles, California" }
@STRING{popl19      = popl # ", Lisbon, Portugal" }
@STRING{popl20      = popl # ", New Orleans, Louisiana" }
@STRING{popl21      = popl }
@STRING{popl22      = popl # ", Philadelphia, Pennsylvania" }

% ----
@STRING{icfp        = "{ACM} {SIGPLAN} {I}nternational {C}onference on
                      {F}unctional {P}rogramming ({ICFP})" }
@STRING{icfp17      = icfp # ", Oxford, England" }
@STRING{icfp16      = icfp # ", Nara, Japan" }
@STRING{icfp14      = icfp # ", Gothenburg, Sweden" }
@STRING{icfp13      = icfp # ", Boston, Massachusetts" }
@STRING{icfp12      = icfp # ", Copenhagen, Denmark" }
@STRING{icfp11      = icfp # ", Tokyo, Japan" }
@STRING{icfp10      = icfp # ", Baltimore, Maryland" }
@STRING{icfp08      = icfp # ", Victoria, British Colombia" }
@STRING{icfp05      = icfp # ", Tallinn, Estonia" }
@STRING{icfp04      = icfp # ", Snowbird, Utah" }
@STRING{icfp03      = icfp # ", Uppsala, Sweden" }
@STRING{icfp02      = icfp # ", Pittsburgh, Pennsylvania" }
@STRING{icfp01      = icfp # ", Firenze, Italy" }
@STRING{icfp00      = icfp # ", Montr{\'e}al, Qu{\'e}bec" }
@STRING{icfp99      = icfp # ", Paris, France" }
@STRING{icfp98      = icfp # ", Baltimore, Maryland" }
@STRING{icfp97      = icfp # ", Amsterdam, The Netherlands" }
@STRING{icfp96      = icfp # ", Philadelphia, Pennsylvania" }
% ----
@STRING{itp         = "Interactive Theorem Proving ({ITP})"}
@STRING{itp10       = itp # ", Edinburgh, Scotland" }
@STRING{itp11       = itp # ", Nijmegen, The Netherlands" }
@STRING{itp13       = itp # ", Rennes, France" }
% ----
@STRING{oopsla      = "{ACM} {SIGPLAN} {C}onference on {O}bject {O}riented
                      {P}rogramming: {S}ystems, {L}anguages, and {A}pplications ({OOPSLA})" }
@STRING{oopslapre96 = "{C}onference on {O}bject {O}riented {P}rogramming:
                      {S}ystems, {L}anguages, and {A}pplications ({OOPSLA})" }

@STRING{ccs         = "{ACM} {SIGSAC} Conference on Computer and Communications Security ({CCS})"}
@STRING{ccs12       = ccs # ", Raleigh, North Carolina" }
@STRING{ccs13       = ccs # ", Berlin, Germany" }
@STRING{ccs14       = ccs # ", Scottsdale, Arizona" }
@STRING{ccs15       = ccs # ", Boulder, Colorado" }
@STRING{ccs16       = ccs # ", Vienna, Austria" }
@STRING{ccs17       = ccs # ", Dallas, Texas" }
@STRING{ccs18       = ccs # ", Toronto, Ontario" }
@STRING{ccs19       = ccs # ", London, England" }
@STRING{ccs20       = ccs }

@STRING{cpp         = "{ACM} {SIGPLAN} Conference on Certified Proofs and Programs ({CPP})"}
@STRING{cpp16       = cpp # ", St. Petersburg, Florida" }
@STRING{cpp24       = cpp # ", London, England" }

@STRING{dbpl        = {Database Programming Languages (DBPL)}}
@STRING{dbpl05      = dbpl}

@STRING{disc        = {International Symposium on Distributed Computing (DISC)}}
@STRING{disc06      = disc}

@STRING{ecoop       = {European Conference on Object-Oriented Programming (ECOOP)} }
@STRING{ecoop92     = ecoop}
@STRING{ecoop95     = ecoop}
@STRING{ecoop98     = ecoop}
@STRING{ecoop06     = ecoop # ", Nantes, France"}

@STRING{oopsla86    = oopslapre96 # ", Portland, Oregon" }
@STRING{oopsla89    = oopslapre96 # ", New Orleans, Louisiana"}
@STRING{oopsla90    = oopslapre96 # "/" # ecoop # ", Ottawa, Ontario" }
@STRING{oopsla98    = oopsla # ", Vancouver, British Columbia" }
@STRING{oopsla03    = oopsla # ", Anaheim, California" }
@STRING{oopsla13    = oopsla # ", Indianapolis, Indiana" }
@STRING{oopsla14    = oopsla # ", Portland, Oregon" }
@STRING{oopsla16    = oopsla # ", Amsterdam, The Netherlands" }
@STRING{oopsla22    = oopsla # ", Auckland, New Zealand" }
@STRING{oopsla25    = oopsla # ", Singapore" }
% ----
@STRING{lics        = "{IEEE} {S}ymposium on {L}ogic in {C}omputer {S}cience ({LICS})" }
@STRING{licspost20  = "{ACM/IEEE} {S}ymposium on {L}ogic in {C}omputer {S}cience ({LICS})" }
@STRING{lics86      = lics # ", Cambridge, Massachusetts" }
@STRING{lics87      = lics # ", Ithaca, New York" }
@STRING{lics88      = lics # ", Edinburgh, Scotland" }
@STRING{lics89      = lics # ", Asilomar, California" }
@STRING{lics90      = lics # ", Philadelphia, Pennsylvania" }
@STRING{lics91      = lics # ", Amsterdam, The Netherlands" }
@STRING{lics92      = lics # ", Santa Cruz, California" }
@STRING{lics93      = lics # ", Montr{\'e}al, Qu{\'e}bec" }
@STRING{lics94      = lics # ", Paris, France" }
@STRING{lics95      = lics # ", San Diego, California" }
@STRING{lics96      = lics # ", New Brunswick, New Jersey" }
@STRING{lics97      = lics # ", Warsaw, Poland" }
@STRING{lics98      = lics # ", Indianapolis, Indiana" }
@STRING{lics99      = lics # ", Trento, Italy" }
@STRING{lics00      = lics # ", Santa Barbara, California" }
@STRING{lics01      = lics # ", Boston, Massachusetts" }
@STRING{lics02      = lics # ", Copenhagen, Denmark" }
@STRING{lics03      = lics # ", Ottawa, Ontario" }
@STRING{lics06      = lics # ", Seattle, Washington" }
@STRING{lics11      = lics # ", Toronto, Ontario" }
@STRING{lics14      = lics # ", Vienna, Austria" }
@STRING{lics16      = lics # ", New York, New York" }
@STRING{lics17      = lics # ", Reykjavik, Iceland" }
@STRING{lics19      = lics # ", Vancouver, British Columbia" }
@STRING{lics20      = licspost20 # ", Saarbr{\"{u}}cken, Germany" }
@STRING{lics21      = licspost20 }
% ----
@STRING{pldi        = "{ACM SIGPLAN Conference on Programming Language Design
                      and Implementation (PLDI)}" }
@STRING{pldi88      = pldi # ", {A}tlanta, {G}eorgia" }
@STRING{pldi89      = pldi # ", Portland, Oregon" }
@STRING{pldi90      = pldi # ", White Plains, New York" }
@STRING{pldi91      = pldi # ", Toronto, Ontario" }
@STRING{pldi92      = pldi # ", San Francisco, California" }
@STRING{pldi93      = pldi # ", Albuquerque, New Mexico" }
@STRING{pldi94      = pldi # ", Orlando, Florida" }
@STRING{pldi95      = pldi # ", La Jolla, California" }
@STRING{pldi96      = pldi # ", Philadephia, Pennsylvania" }
@STRING{pldi97      = pldi # ", Las Vegas, Nevada" }
@STRING{pldi98      = pldi # ", Montr{\'e}al, Qu{\'e}bec" }
@STRING{pldi99      = pldi # ", {A}tlanta, {G}eorgia" }
@STRING{pldi00      = pldi # ", Vancouver, British Columbia" }
@STRING{pldi01      = pldi # ", Snowbird, Utah" }
@STRING{pldi02      = pldi # ", Berlin, Germany" }
@STRING{pldi03      = pldi # ", San Diego, California" }
@STRING{pldi08      = pldi # ", Tucson, Arizona" }
@STRING{pldi11      = pldi # ", San Jose, California" }
@STRING{pldi12      = pldi # ", Beijing, China" }
@STRING{pldi13      = pldi # ", Seattle, Washington" }
@STRING{pldi14      = pldi # ", Edinburgh, Scotland" }
@STRING{pldi15      = pldi # ", Portland, Oregon" }
@STRING{pldi16      = pldi # ", Santa Barbara, California" }
@STRING{pldi18      = pldi # ", Philadelphia, Pennsylvania" }
@STRING{pldi19      = pldi # ", Phoenix, Arizona" }
@STRING{pldi20      = pldi # ", London, England" }
@STRING{pldi21      = pldi }
@STRING{pldi22      = pldi # ", San Diego, California" }
@STRING{pldi23      = pldi # ", Orlando, Florida" }
@STRING{pldi24      = pldi # ", Copenhagen, Denmark" }
@STRING{pldi25      = pldi # ", Seoul, Korea" }
@STRING{pldi26      = pldi # ", Boulder, Colorado" }

% ----
@STRING{lfp         = "ACM Symposium on Lisp and Functional Programming (LFP)" }
@STRING{lfp80       = lfp # ", Stanford, California" }
@STRING{lfp84       = lfp # ", Austin, Texas" }
@STRING{lfp86       = lfp # ", Cambridge, Massachusetts" }
@STRING{lfp88       = lfp # ", Snowbird, Utah" }
@STRING{lfp90       = lfp }
@STRING{lfp92       = lfp # ", San Francisco, California"}
@STRING{lfp94       = lfp # ", Orlando, Florida" }

% ----
@STRING{fpca        = "ACM Symposium on Functional Programming Languages and
                      Computer Architecture (FPCA)" }
@STRING{fpca87      = fpca # ", Portland, Oregon" }
@STRING{fpca89      = fpca # ", London, England" }
@STRING{fpca93      = fpca # ", Copenhagen, Denmark"}
@STRING{fpca95      = fpca # ", San Diego, California" }

% ----
@STRING{ec          = "{ACM} {SIGecom} {C}onference on {E}conomics and
                      {C}omputation (EC)" }
@STRING{ec07        = ec # ", San Diego, California"}
@STRING{ec09        = ec # ", Stanford, California"}
@STRING{ec10        = ec # ", Cambridge, Massachusetts"}
@STRING{ec13        = ec # ", Philadelphia, Pennsylvania"}
@STRING{ec14        = ec # ", Palo Alto, California"}
@STRING{ec15        = ec # ", Portland, Oregon"}

% ----
@STRING{ics         = "{S}ymposium on {I}nnovations in {C}ompuer {S}cience"}
@STRING{itcs        = "{ACM} {SIGACT} {I}nnovations in {T}heoretical {C}omputer
                      {S}cience (ITCS)"}
@STRING{itcs10      = ics # ", Beijing, China"}
@STRING{itcs11      = ics # ", Beijing, China"}
@STRING{itcs12      = itcs # ", Cambridge, Massachusetts"}
@STRING{itcs13      = itcs # ", Berkeley, California"}
@STRING{itcs14      = itcs # ", Princeton, New Jersey"}
@STRING{itcs16      = itcs # ", Cambridge, Massachusetts"}

% ----
@STRING{iclr     = "International Conference on Learning Representations" }
@STRING{iclr14   = iclr # ", Banff, Alberta" }

% ----
@STRING{icaart      = "{I}nternational {C}onference on {A}gents and {A}rtificial {I}ntelligence (ICAART)" }
@STRING{icaart19    = icaart # ", Prague, Czech Republic" }

% ----
@STRING{stoc        = "{ACM} {SIGACT} {S}ymposium on {T}heory of {C}omputing (STOC)"}
@STRING{stoc80      = stoc # ", Los Angeles, California"}
@STRING{stoc81      = stoc # ", Milwaukee, Wisconsin"}
@STRING{stoc82      = stoc # ", San Francisco, California"}
@STRING{stoc83      = stoc # ", Boston, Massachusetts"}
@STRING{stoc87      = stoc # ", New York, New York"}
@STRING{stoc89      = stoc # ", Seattle, Washington"}
@STRING{stoc91      = stoc # ", New Orleans, Louisiana"}
@STRING{stoc97      = stoc # ", El Paso, Texas"}
@STRING{stoc99      = stoc # ", Atlanta, Georgia"}
@STRING{stoc02      = stoc # ", Montr{\'e}al, Qu{\'e}bec"}
@STRING{stoc04      = stoc # ", Chicago, Illinois"}
@STRING{stoc05      = stoc # ", Baltimore, Maryland"}
@STRING{stoc06      = stoc # ", Seattle, Washington"}
@STRING{stoc07      = stoc # ", San Diego, California"}
@STRING{stoc08      = stoc # ", Victoria, British Colombia"}
@STRING{stoc09      = stoc # ", Bethesda, Maryland"}
@STRING{stoc10      = stoc # ", Cambridge, Massachusetts"}
@STRING{stoc11      = stoc # ", San Jose, California"}
@STRING{stoc12      = stoc # ", New York, New York"}
@STRING{stoc13      = stoc # ", Palo Alto, California"}
@STRING{stoc14      = stoc # ", New York, New York"}
@STRING{stoc15      = stoc # ", Portland, Oregon"}
@STRING{stoc16      = stoc # ", Cambridge, Massachusetts"}

% ----
@STRING{focs        = "{IEEE} {S}ymposium on {F}oundations of {C}omputer {S}cience (FOCS)"}
@STRING{focs77      = focs # ", Providence, Rhode Island"}
@STRING{focs79      = focs # ", San Juan, Puerto Rico"}
@STRING{focs82      = focs # ", Chicago, Illinois"}
@STRING{focs86      = focs # ", Toronto, Ontario"}
@STRING{focs89      = focs # ", Triangle Park, North Carolina"}
@STRING{focs95      = focs # ", Milwaukee, Wisconsin"}
@STRING{focs97      = focs # ", Miami Beach, Florida"}
@STRING{focs01      = focs # ", Las Vegas, Nevada"}
@STRING{focs05      = focs # ", Pittsburgh, Pennsylvania"}
@STRING{focs07      = focs # ", Providence, Rhode Island"}
@STRING{focs09      = focs # ", Atlanta, Georgia"}
@STRING{focs10      = focs # ", Las Vegas, Nevada"}
@STRING{focs12      = focs # ", New Brunswick, New Jersey"}
@STRING{focs13      = focs # ", Berkeley, California"}
@STRING{focs14      = focs # ", Philadelphia, Pennsylvania"}

% ----
@STRING{fmcad       = "International Conference on Formal Methods in
  Computer-Aided Design ({FMCAD})" }
@STRING{fmcad00     = fmcad # ", Austin, Texas" }

% ----
@STRING{socg        = "{SIGACT} -- {SIGGRAPH} {S}ymposium on {C}omputational
  {G}eometry (SOCG)"}
@STRING{socg14      = socg # ", Kyoto, Japan"}

% ----
@STRING{soda        = "{ACM--SIAM} {S}ymposium on {D}iscrete {A}lgorithms (SODA)"}
@STRING{soda03      = soda # ", Baltimore, Maryland" }
@STRING{soda05      = soda # ", Vancouver, British Colombia" }
@STRING{soda10      = soda # ", Austin, Texas"}
@STRING{soda11      = soda # ", San Francisco, California"}
@STRING{soda12      = soda # ", Kyoto, Japan"}
@STRING{soda13      = soda # ", New York, New York"}
@STRING{soda14      = soda # ", Portland, Oregon"}
@STRING{soda15      = soda # ", San Diego, California"}
@STRING{soda16      = soda # ", Arlington, Virginia"}
@STRING{soda17      = soda # ", Barcelona, Spain"}

% ----
@STRING{tcc         = "{IACR} {T}heory of {C}ryptography {C}onference (TCC)"}
@STRING{tcc06       = tcc # ", New York, New York"}
@STRING{tcc11       = tcc # ", Providence, Rhode Island"}
@STRING{tcc12       = tcc # ", Taormina, Italy"}
@STRING{tcc13       = tcc # ", Tokyo, Japan"}
@STRING{tcc16a      = tcc # ", Tel Aviv, Israel"}
@STRING{tcc16b      = tcc # ", Beijing, China"}

% ----
@STRING{aistats     = "International Conference on {A}rtificial {I}ntelligence
  and {S}tatistics ({AISTATS})"}
@STRING{aistats20   = aistats # ", Palermo, Italy"}
@STRING{aistats14   = aistats # ", Reykjavik, Iceland"}
% ----
@STRING{kdd         = "{ACM} {SIGKDD} {C}onference on {K}nowledge {D}iscovery
  and {D}ata {M}ining (KDD)"}
@STRING{kdd02       = kdd # ", Edmonton, Alberta"}
@STRING{kdd08       = kdd # ", Las Vegas, Nevada"}
@STRING{kdd09       = kdd # ", Paris, France"}
@STRING{kdd10       = kdd # ", Washington, DC"}

% ----
@STRING{nips        = "{C}onference on {N}eural {I}nformation {P}rocessing
  {S}ystems ({NIPS})"}
@STRING{neurips     = "{C}onference on {N}eural {I}nformation {P}rocessing
  {S}ystems ({NeurIPS})"}
@STRING{nips08      = nips # ", Vancouver, British Colombia" }
@STRING{nips12      = nips # ", Lake Tahoe, California" }
@STRING{nips13      = nips # ", Lake Tahoe, California" }
@STRING{nips14      = nips # ", Montr{\'e}al, Qu{\'e}bec" }
@STRING{nips15      = nips # ", Montr{\'e}al, Qu{\'e}bec" }
@STRING{nips16      = nips # ", Barcelona, Spain" }
@STRING{nips17      = nips # ", Long Beach, California" }
@STRING{nips18      = neurips # ", Montr{\'e}al, Qu{\'e}bec" }

% ----
@STRING{icml        = "{I}nternational {C}onference on {M}achine {L}earning (ICML)" }
@STRING{icml03      = icml # ", Washington, DC" }
@STRING{icml12      = icml # ", Edinburgh, Scotland" }
@STRING{icml14      = icml # ", Beijing, China" }
@STRING{icml15      = icml # ", Lille, France" }
@STRING{icml16      = icml # ", New York, NY" }
@STRING{icml17      = icml # ", Sydney, Australia" }

% ----
@STRING{sp          = "{IEEE} {S}ymposium on {S}ecurity and {P}rivacy (S\&P)"}
@STRING{sp08        = sp # ", Oakland, California"}
@STRING{sp09        = sp # ", Oakland, California"}
@STRING{sp11        = sp # ", Berkeley, California"}
@STRING{sp14        = sp # ", Oakland, California"}
@STRING{sp15        = sp # ", San Jose, California"}

@STRING{oakland     = sp}

% ----
@STRING{sigcomm     = "Conference of the {ACM} Special Interest Group on Data Communication ({SIGCOMM})"}
@STRING{sigcomm17   = sigcomm # ", Los Angeles, California" }
@STRING{sigcomm18   = sigcomm # ", Budapest, Hungary" }
@STRING{sigcomm20   = sigcomm }
@STRING{sigcomm26   = sigcomm # ", Denver, Colorado" }

% ----
@STRING{usenix      = "{USENIX} {S}ecurity {S}mposium {(USENIX)}" }
@STRING{usenix16    = usenix # ", Austin, Texas" }
@STRING{usenix18    = usenix # ", Baltimore, Maryland" }
@STRING{usenix20    = usenix }
@STRING{usenix21    = usenix }

% ----
@STRING{snapl       = "Summit on Advances in Programming Languages ({SNAPL})"}
@STRING{snapl15     = snapl # ", Asilomar, California"}

% ----
@STRING{icde        = "{IEEE} {I}nternational {C}onference on {D}ata
  {E}ngineering (ICDE)"}
@STRING{icde06      = icde # ", Atlanta, Georgia" }
@STRING{icde07      = icde # ", Istanbul, Turkey" }
@STRING{icde13      = icde # ", Brisbane, Australia" }

% ----
@STRING{pvldb       = "Proceedings of the {VLDB} Endowment"}
@STRING{vldb        = "Appeared at the {I}nternational {C}onference on {V}ery {L}arge {D}ata {B}ases (VLDB)"}
@STRING{vldb12      = vldb # ", Istanbul, Turkey"}
@STRING{vldb14      = vldb # ", Hangzhou, China"}
@STRING{vldb17      = vldb # ", Munich, Germany"}
@STRING{vldb18      = vldb # ", Rio de Janeiro, Brazil"}

% ----
@STRING{icc         = "{IEEE} {I}nternational {C}onference on {C}ommunications
  (ICC)"}
@STRING{icc11       = icc # ", Kyoto, Japan"}

% ----
@STRING{sigmod      = "{ACM} {SIGMOD} {I}nternational {C}onference on
  {M}anagement of {D}ata (SIGMOD)"}
@STRING{sigmod00    = sigmod # ", New York, New York"}
@STRING{sigmod09    = sigmod # ", Providence, Rhode Island"}
@STRING{sigmod10    = sigmod # ", Indianapolis, Indiana"}
@STRING{sigmod12    = sigmod # ", Scottsdale, Arizona"}
@STRING{sigmod14    = sigmod # ", Snowbird, Utah"}
@STRING{sigmod17    = sigmod # ", Chicago, Illinois"}

% ----
@STRING{tamc        = "Theory and Applications of Models of Computation
  ({TAMC})" }
@STRING{tamc08      = tamc # ", Xi'an, China" }

% ----
@STRING{nsdi        = "{USENIX} {S}ymposium on {N}etworked {S}ystems {D}esign
  and {I}mplementation (NSDI)"}
@STRING{nsdi10      = nsdi # ", San Jose, California"}
@STRING{nsdi12      = nsdi # ", San Jose, California"}
@STRING{nsdi16      = nsdi # ", Renton, Washington"}
@STRING{nsdi19      = nsdi # ", Boston, Massachusetts"}
@STRING{nsdi20      = nsdi # ", Santa Clara, California"}
@STRING{nsdi21      = nsdi}
@STRING{nsdi27      = nsdi # ", Providence, Rhode Island"}

% ----
@STRING{sosr        = "{ACM} {SIGCOMM} Symposium on SDN Research ({SOSR})"}
@STRING{sosr21      = sosr}

% ----
@STRING{hotcloud    = "{USENIX} Workshop on Hot Topics in Cloud Computing ({HotCloud})" }
@STRING{hotcloud19  = hotcloud # ", Renton, Washington"}

% ----
@STRING{hotnets     = "{ACM} Workshop on Hot Topics in Networks ({HotNets})" }
@STRING{hotnets19   = hotnets # ", Princeton, New Jersey"}
@STRING{hotnets23   = hotnets # ", Cambridge, Massachusetts"}

% ----
@STRING{eucrypt     = "{IACR} {I}nternational {C}onference on the {T}heory and
  {A}pplications of {C}ryptographic {T}echniques (EUROCRYPT)"}
@STRING{eucrypt06   = eucrypt # ", Saint Petersburg, Russia"}
@STRING{eucrypt13   = eucrypt # ", Athens, Greece"}
@STRING{eucrypt14   = eucrypt # ", Copenhagen, Denmark" }
@STRING{eucrypt15   = eucrypt # ", Sofia, Bulgaria" }

% ----
@STRING{vmcai    = "{I}nternational {C}onference on {V}erification, {M}odel
                    {C}hecking, and {A}bstract {I}nterpretation ({VMCAI})" }
@STRING{vmcai07  = vmcai # ", Nice, France" }
@STRING{vmcai09  = vmcai # ", Savannah, Georgia" }
@STRING{vmcai12  = vmcai # ", Philadelphia, Pennsylvania" }
@STRING{vmcai13  = vmcai # ", Rome, Italy" }
@STRING{vmcai16  = vmcai # ", St. Petersburg, Florida" }
@STRING{vmcai18  = vmcai # ", Los Angeles, California" }

% ----
@STRING{csf      = "{IEEE} {C}omputer {S}ecurity {F}oundations {S}ymposium
                   ({CSF})" }
@STRING{csf07    = csf # ", Venice, Italy" }
@STRING{csf08    = csf # ", Pittsburgh, Pennsylvania" }
@STRING{csf10    = csf # ", Edinburgh, Scotland" }
@STRING{csf11    = csf # ", Domaine de l'Abbaye des Vaux de Cernay, France" }
@STRING{csf13    = csf # ", New Orleans, Louisiana" }
@STRING{csf14    = csf # ", Vienna, Austria" }
@STRING{csf15    = csf # ", Venice, Italy" }
@STRING{csf16    = csf # ", Lisbon, Portugal" }
@STRING{csf17    = csf # ", Santa Barbara, California" }

% ----
@STRING{pepmpre12 = "{S}ymposium on {P}artial {E}valuation and
                    {S}emantics-{B}ased {P}rogram {M}anipulation ({PEPM})" }
@STRING{pepm91    = pepmpre12 # ", New Haven, Connecticut" }

% ----
@STRING{arith    = "{IEEE} Symposium on Computer Arithmetic ({ARITH})" }
@STRING{arith11  = arith # ", T{\"{u}}bingen, Germany" }
@STRING{arith23  = arith # ", Portland, Oregon" }

% ----
% workshops with informal proceedings only
% ----
@STRING{informal =  "{, informal proceedings}"}
@STRING{fool     =  {International Workshop on Foundations of Object-Oriented
                    Languages (FOOL)} # informal }
@STRING{haskellw =  {ACM Haskell Workshop} # informal }
@STRING{mlw      =  {ACM SIGPLAN Workshop on ML} # informal } 
@STRING{space    =  {Workshop on Semantics, Program Analysis and Computing
                    Environments for Memory Management (SPACE)} # informal }
@STRING{tpa      =  {Workshop on Types for Program Analysis (TPA)} # informal }
@STRING{fopara   =  {International Workshop on Foundational and Practical
                    Aspects of Resource Analysis (FOPARA)} # informal}
@STRING{tpdp     = {Theory and Practice of Differential Privacy (TPDP)}}
@STRING{cmcs     = {{IFIP} {WG} 1.3 International Workshop on Coalgebraic
  Methods in Computer Science ({CMCS})}}

% ----
% meetings with proceedings:
% ---
@STRING{aplas     = {Asian Symposium on Programming Languages and Systems (APLAS)} }
@STRING{asplos    = {International Conference on Architectural Support for
                    Programming Langauages and Operating Systems (ASPLOS)} }
@STRING{ase       = {IEEE/ACM International Conference on Automated Software Engineering (ASE)} }
@STRING{atva      = {International Symposium on Automated Technology for
  Verification and Analysis (ATVA)} }
@STRING{calco     = {Conference on Algebra and Coalgebra in Computer Science ({CALCO})}}
@STRING{cav       = {International Conference on Computer Aided Verification (CAV)} }
@STRING{ceemas    = {International Central and Eastern European Conference on
                    Multi-Agent Systems} }
@STRING{colt      = {{C}onference on {C}omputational {L}earning {T}heory
                    ({CoLT})}}
@STRING{concur    = {International Conference on Concurrency Theory (CONCUR)} }
@STRING{csl       = {International Conference on Computer Science Logic (CSL)} }
@STRING{cslpre11  = {International Workshop on Computer Science Logic (CSL)} }
@STRING{csfw      = {IEEE Computer Security Foundations Workshop (CSFW)} }
@STRING{ct        = {International Category Theory Conference (CT)} }
@STRING{ecoop     = {European Conference on Object-Oriented Programming (ECOOP)} }
@STRING{esecfse   = {Joint Meeting of the European Software Engineering
  Conference and the {ACM} {SIGSOFT} Symposium on the Foundations of Software
    Engineering (ESEC/FSE)} }
@STRING{esop      = {European Symposium on Programming (ESOP)} }
@STRING{esorics   = {European Symposium on Programming on Research in Computer Security (ESORICS)} }
@STRING{fesca     = {International Workshop on Formal Engineering approaches to
                    Software Components and Architectures (FESCA)} }
@STRING{flops     = {International Symposium on Functional and Logic Programming
                    (FLOPS)} }
@STRING{fse       = {{ACM} {SIGSOFT} Symposium on the Foundations of Software Engineering (FSE)}}
@STRING{fm        = {International Symposium on Formal Methods (FM)} }
@STRING{fmco      = {International Symposia on Formal Methods for Components and
                    Objects (FMCO)} }
@STRING{fossacs   = {International Conference on Foundations of Software Science and Computation Structures {(FoSSaCS)}}}
@STRING{fscd      = {International Conference on Formal Structures for Computation and Deduction {(FSCD)}}}
@STRING{fsttcs    = {Foundations of Software Technology and Theoretical Computer
                    Science (FSTTCS)} }
@STRING{hcomp     = {{AAAI} Conference on Human Computation and Crowdsourcing (HCOMP)} }
@STRING{hoots     = {Workshop on Higher Order Operational Techniques in
                    Semantics (HOOTS)} }
@STRING{icalp     = {International Colloquium on Automata, Languages and
                    Programming (ICALP)} }
@STRING{icse      = {International Conference on Software Engineering (ICSE)} }
@STRING{issta     = {{ACM} {SIGSOFT} International Symposium on Software Testing and Analysis {(ISSTA)}} }
@STRING{ictac     = {International Colloquium on Theoretical Aspects of Computing (ICTAC)} }
@STRING{ijcai     = {International Joint Conference on Artificial Intelligence (IJCAI)} }
@STRING{ijcar     = {International Joint Conference on Automated Reasoning (IJCAR)} }
@STRING{ipco      = {Conference on Integer Programming and Combinatorial
  Optimization (IPCO)} }
@STRING{lfcompsci = {International Symposium on Logical Foundations of Computer
                    Science (LFCS)} }
@STRING{lpar      = {International Conference on Logic for Programming,
                    Artificial Intelligence and Reasoning (LPAR)} }
@STRING{logfcs    = {Symposium on the Logical Foundations of Computer Science
  (LFCS)} }
@STRING{mfps      = {Conference on the Mathematical Foundations of Programming
                    Semantics (MFPS)} }
@STRING{nfm       = {{NASA} Formal Methods Symposium (NFM)} }
@STRING{nsv       = {International Workshop on Numerical Software Verification ({NSV}) }}
@STRING{osdi      = {USENIX Symposium on Operating Systems Design and
                    Implementation (OSDI)} }
@STRING{paste     = {ACM SIGPLAN--SIGSOFT Workshop on Program Analysis for
                    Software Tools and Engineering (PASTE)} }
@STRING{ppdp      = {ACM SIGPLAN International Conference on Principles and
                    Practice of Declarative Programming (PPDP)} }
@STRING{ppopp     = {ACM SIGPLAN Symposium on Principles and Practice of
  Parallel Programming (PPoPP)} }
@STRING{randapx   = {Workshop on Approximation Algorithms for Combinatorial
                    Optimization Problems (APPROX) and Workshop on Randomization
                    and Computation (RANDOM)} }
@STRING{rta       = {International Conference on Rewriting Techniques and
                    Applications (RTA)} }
@STRING{rvpre10   = {International Workshop on Runtime Verification (RV)} }
@STRING{rv        = {International Conference on Runtime Verification (RV)} }
@STRING{sas       = {International Symposium on Static Analysis (SAS)} }
@STRING{sosp      = {ACM Symposium on Operating Systems Principles (SOSP)} }
@STRING{sandp     = { {IEEE} Symposium on Security and Privacy (S\&P) }}
@STRING{tacs      = {International Symposium on Theoretical Aspects of Computer
                    Software (TACS)} }
@STRING{tacas     = {International Conference on Tools and Algorithms for the
                    Construction and Analysis of Systems (TACAS)} }
@STRING{tapsoft   = {Theory and Practice of Software Development (TAPSOFT)} }
@STRING{tfp       = {Symposium on Trends in Functional Programming (TFP)} }
@STRING{tic       = {ACM SIGPLAN Workshop on Types in Compilation ({TIC})} }
@STRING{tlca      = {International Conference on Typed Lambda Calculi and
                    Applications (TLCA)} }
@STRING{tldi      = {ACM SIGPLAN Workshop on Types in Language Design and
                    Implementation (TLDI)} }
@STRING{tphol     = {International Conference on Theorem Proving in Higher Order
                    Logics (TPHOL)} }
@STRING{types     = {International Workshop on Types for Proofs and Programs
                    (TYPES)} }
@STRING{webdb     = {International Workshop on the Web and Databases (WebDB)} }
@STRING{wosn      = {Workshop on Online Social Networks (WOSN)} }
@STRING{xsym      = {Database and XML Technologies: International XML Database
                    Symposium (XSym)} }
@STRING{wine      = {Conference on Web and Internet Economics (WINE)} }
@STRING{wsa       = {Workshop on Static Analysis (WSA)} }
% ----
% Specific meetings, with locations:
% ---
@STRING{aaai        = "{AAAI} Conference on Artificial Intelligence"}
@STRING{aaai87      = aaai # ", Seattle, WA"}
@STRING{aaai07      = aaai # ", Vancouver, British Colombia"}
% ---
@STRING{aplas03     = aplas # ", Beijing, China" }
@STRING{aplas05     = aplas # ", Tsukuba, Japan" }
@STRING{aplas08     = aplas # ", Bangalore, India" }
@STRING{aplas10     = aplas # ", Shanghai, China" }
@STRING{aplas17     = aplas # ", Suzhou, China" }
@STRING{aplas21     = aplas # ", Chicago, Illinois" }

%----
@STRING{ascrypt     = "International Conference on the Theory and
  Application of Cryptology and Information Security (ASIACRYPT)" }
@STRING{ascrypt11   = ascrypt # ", Seoul, South Korea" }
@STRING{ascrypt15   = ascrypt # ", Auckland, New Zealand" }
@STRING{ascrypt18   = ascrypt # ", Brisbane, Australia" }
%----
@STRING{asplos06    = asplos # ", San Jose, California" }
@STRING{asplos14    = asplos # ", Salt Lake City, Utah" }
@STRING{asplos21    = asplos}
%----
@STRING{ase17       = ase # ", Urbana, Illinois" }
%----
@STRING{atva19      = atva # ", Taipei City, Taiwan" }
%----
@STRING{ceemas07    = ceemas # ", Leipzig, Germany" }
% ---
@STRING{colt95      = colt # ", Santa Cruz, California" }
@STRING{colt96      = colt # ", Desenzano sul Garda, Italy" }
@STRING{colt11      = colt # ", Budapest, Hungary" }
@STRING{colt12      = colt # ", Edinburgh, Scotland" }
@STRING{colt13      = colt # ", Princeton, New Jersey" }
@STRING{colt14      = colt # ", Barcelona, Spain" }
@STRING{colt16      = colt # ", New York, New York" }
% ---
@STRING{concur95    = concur # ", Philadelphia, Pennsylvania" }
@STRING{concur01    = concur # ", Aalborg, Denmark" }
@STRING{concur06    = concur # ", Bonn, Germany" }
@STRING{concur07    = concur # ", Lisbon, Portugal" }
@STRING{concur09    = concur # ", Bologna, Italy" }
@STRING{concur14    = concur # ", Rome, Italy" }
@STRING{concur17    = concur # ", Berlin, Germany" }
% ---
@STRING{calco13     = concur # ", Warsaw, Poland" }
@STRING{calco15     = concur # ", Nijmegen, The Netherlands" }
% ---
@STRING{cav96       = cav # ", New Brunswick, New Jersey" }
@STRING{cav97       = cav # ", Haifa, Israel" }
@STRING{cav98       = cav # ", Vancouver, British Columbia" }
@STRING{cav00       = cav # ", Chicago, Illinois" }
@STRING{cav02       = cav # ", Copenhagen, Denmark" }
@STRING{cav03       = cav # ", Boulder, Colorado" }
@STRING{cav06       = cav # ", Seattle, Washington" }
@STRING{cav07       = cav # ", Berlin, Germany" }
@STRING{cav08       = cav # ", Princeton, New Jersey" }
@STRING{cav10       = cav # ", Edinburgh, Scotland" }
@STRING{cav11       = cav # ", Snowbird, Utah" }
@STRING{cav12       = cav # ", Berkeley, California" }
@STRING{cav13       = cav # ", Saint Petersburg, Russia" }
@STRING{cav15       = cav # ", San Francisco, California" }
@STRING{cav16       = cav # ", Toronto, Ontario" }
@STRING{cav17       = cav # ", Heidelberg, Germany" }
@STRING{cav18       = cav # ", Oxford, England" }
@STRING{cav20       = cav # ", Los Angeles, California" }
@STRING{cav22       = cav # ", Haifa, Israel" }
@STRING{cav24       = cav # ", Montr{\'e}al, Qu{\'e}bec" }
% ---
@STRING{cp          = "International Conference on Principles and Practice of
                       Constraint Programming (CP)" }
@STRING{cp03        = cp # ", Kinsale, Ireland" }
% ---
@STRING{crypto      = "{IACR} International Cryptology Conference {(CRYPTO)}, Santa Barbara, California"}
% ---
@STRING{csl94       = cslpre11 # ", Kazimierz, Poland" }
@STRING{csl97       = cslpre11 # ", Aarhus, Denmark" }
@STRING{csl01       = cslpre11 # ", Paris, France" }
@STRING{csl05       = cslpre11 # ", Oxford, England" }
% ---
@STRING{csfw02      = csfw # ", Cape Breton, Nova Scotia" }
@STRING{csfw03      = csfw # ", Pacific Grove, California" }
@STRING{csfw04      = csfw # ", Pacific Grove, California" }
% ---
@STRING{ct90        = ct # ", Como, Italy" }
% ---
@STRING{ecoop90     = oopsla # "/" # ecoop # ", Ottawa, Ontario" }
@STRING{ecoop97     = ecoop # ", Jyv{\"a}skyl{\"a}, Finland" }
@STRING{ecoop99     = ecoop # ", Lisbon, Portugal" }
@STRING{ecoop00     = ecoop # ", Sophia Antipolis and Cannes, France" }
@STRING{ecoop02     = ecoop # ", Malaga, Spain" }
@STRING{ecoop03     = ecoop # ", Darmstadt, Germany" }
@STRING{ecoop04     = ecoop # ", Oslo, Norway" }
@STRING{ecoop19     = ecoop # ", London, England" }
% ---
@STRING{esecfse11   = esecfse # ", Szeged, Hungary" }
@STRING{esecfse13   = esecfse # ", Saint Petersburg, Russia" }
@STRING{esecfse19   = esecfse # ", Tallinn, Estonia" }
% ---
@STRING{esop88      = esop # ", Nancy, France" }
@STRING{esop92      = esop # ", Rennes, France" }
@STRING{esop94      = esop # ", Edinburgh, Scotland" }
@STRING{esop00      = esop # ", Berlin, Germany" }
@STRING{esop01      = esop # ", Genova, Italy" }
@STRING{esop02      = esop # ", Grenoble, France" }
@STRING{esop05      = esop # ", Edinburgh, Scotland" }
@STRING{esop07      = esop # ", Braga, Portugal" }
@STRING{esop09      = esop # ", York, England" }
@STRING{esop11      = esop # ", Saarbr{\"u}cken, Germany" }
@STRING{esop12      = esop # ", Tallinn, Estonia" }
@STRING{esop13      = esop # ", Rome, Italy" }
@STRING{esop14      = esop # ", Grenoble, France" }
@STRING{esop16      = esop # ", Eindhoven, The Netherlands" }
@STRING{esop17      = esop # ", Uppsala, Sweden" }
@STRING{esop18      = esop # ", Thessaloniki, Greece" }
@STRING{esop21      = esop # ", Luxembourg City, Luxembourg" }
@STRING{esop23      = esop # ", Paris, France" }
% ---
@STRING{esorics03   = esorics # ", Gj{\o}vic, Norway" }
% ---
@STRING{fesca14     = fesca # ", Grenoble, France" }
% ---
@STRING{flops04     = flops # ", Nara, Japan" }
@STRING{flops16     = flops # ", Kochi, Japan" }
% ---
@STRING{fm08        = fm # ", Turku, Finland" }
@STRING{fm11        = fm # ", Limerick, Ireland" }
@STRING{fm12        = fm # ", Paris, France" }
@STRING{fm19        = "Formal Methods -- The Next 30 Years ({FM}), Porto, Portugal" }
% ---
@STRING{fmco06      = fmco # ", Amsterdam, The Netherlands" }
@STRING{fmco09      = fmco # ", Eindhoven, The Netherlands" }
% ---
STRING{fse08        = fse # ", Atlanta, Georgia" }
% ---
@STRING{fossacs03   = fossacs # ", Warsaw, Poland" }
@STRING{fossacs09   = fossacs # ", York, England" }
@STRING{fossacs11   = fossacs # ", Saarbr{\"u}cken, Germany" }
@STRING{fossacs15   = fossacs # ", London, England" }
@STRING{fossacs16   = fossacs # ", Eindhoven, The Netherlands" }
% ---
@STRING{fscd24      = fscd # ", Tallinn, Estonia" }
% ---
@STRING{fsttcs93    = fsttcs # ", Bombay, India" }
@STRING{fsttcs04    = fsttcs # ", Chennai, India" }
@STRING{fsttcs06    = fsttcs # ", Kolkata, India" }
% ---
@STRING{hcomp15     = hcomp # ", San Diego, California" }
% ---
@STRING{hoots00     = hoots # ", Montr{\'e}al, Qu{\'e}bec" }
% ---
@STRING{icalp84     = icalp # ", Antwerp, Belgium" }
@STRING{icalp97     = icalp # ", Bologna, Italy" }
@STRING{icalp98     = icalp # ", Aalborg, Denmark" }
@STRING{icalp01     = icalp # ", Crete, Greece" }
@STRING{icalp06     = icalp # ", Venice, Italy" }
@STRING{icalp10     = icalp # ", Bordeaux, France" }
@STRING{icalp11     = icalp # ", Z{\"u}rich, Switzerland" }
@STRING{icalp12     = icalp # ", Warwick, England" }
@STRING{icalp13     = icalp # ", Riga, Latvia" }
@STRING{icalp14     = icalp # ", Copenhagen, Denmark" }
@STRING{icalp16     = icalp # ", Rome, Italy" }
@STRING{icalp17     = icalp # ", Warsaw, Poland" }
@STRING{icalp18     = icalp # ", Prague, Czech Republic" }
% ---
@STRING{icse13      = icse # ", San Francisco, California" }
@STRING{icse14      = icse # ", Hyderabad, India" }
@STRING{icse19      = icse # ", Montr{\'e}al, Qu{\'e}bec" }
% ---
@STRING{issta12     = issta # ", Minneapolis, Minnesota" }
% ---
@STRING{ictac18     = ictac # ", Stellenbosch, South Africa" }
% ---
@STRING{ijcai15     = ijcai # ", Buenos Aires, Argentina" }
@STRING{ijcai19     = ijcai # ", Macao, China" }
% ---
@STRING{ijcar18     = ijcar # ", Oxford, England" }
% ---
@STRING{ipco06      = ipco # ", Vancouver, British Columbia" }
% ---
@STRING{lfcompsci94 = lfcompsci # ", St. Petersburg, Russia" }
@STRING{lfcompsci13 = lfcompsci # ", San Diego, California" }
% ---
@STRING{lpar05      = lpar # ", Montego Bay, Jamaica" }
@STRING{lpar08      = lpar # ", Doha, Qatar" }
@STRING{lpar15      = lpar # ", Suva, Fiji" }
@STRING{lpar17      = lpar # ", Maun, Botswana" }
% ---
@STRING{logfcs13    = logfcs # ", San Diego, California" }
% ---
@STRING{mfps87      = mfps # ", New Orleans, Louisiana" }
@STRING{mfps89      = mfps # ", New Orleans, Louisiana" }
@STRING{mfps94      = mfps # ", New Orleans, Louisiana" }
@STRING{mfps95      = mfps # ", New Orleans, Louisiana" }
@STRING{mfps01      = mfps # ", Aarhus, Denmark" }
@STRING{mfps09      = mfps # ", Oxford, England" }
@STRING{mfps11      = mfps # ", Pittsburgh, Pennsylvania" }
@STRING{mfps14      = mfps # ", Ithaca, New York" }
@STRING{mfps15      = mfps # ", Nijmegen, The Netherlands" }
@STRING{mfps16      = mfps # ", Pittsburgh, Pennsylvania" }
@STRING{mfps18      = mfps # ", Halifax, Canada" }
% ---
@STRING{nfm11       = nfm # ", Pasadena, California" }
@STRING{nfm15       = nfm # ", Pasadena, California" }

% ---
@STRING{nsv09       = nsv # ", Toronto, Ontario" }
@STRING{nsv22       = nsv # ", Haifa, Israel" }

% ---
@STRING{osdi96      = osdi # ", Seattle, Washington" }
@STRING{osdi00      = osdi # ", San Diego, California" }
@STRING{osdi08      = osdi # ", San Diego, California" }
@STRING{osdi12      = osdi # ", Hollywood, California" }
@STRING{osdi17      = osdi # ", Shanghai, China" }
% ---
@STRING{paste01     = paste # ", Snowbird, Utah" }
% ---
@STRING{ppdp99      = ppdp # ", Paris France" }
@STRING{ppdp01      = ppdp # ", Firenze, Italy" }
@STRING{ppdp12      = ppdp # ", Leuven, Belgium" }
% ---
@STRING{ppopp13     = ppopp # ", Shenzhen, China" }
% ---
@STRING{rta03       = rta # ", Valencia, Spain" }
@STRING{rta05       = rta # ", Nara, Japan" }
% ---
@STRING{randapx13   = randapx # ", Berkeley, California" }
% ---
@STRING{rv09        = rvpre10 # ", Grenoble, France" }
% ---
@STRING{sas95       = sas # ", Glasgow, Scotland" }
@STRING{sas96       = sas # ", Aachen, Germany" }
@STRING{sas97       = sas # ", Paris, France" }
@STRING{sas00       = sas # ", Santa Barbara, California" }
@STRING{sas01       = sas # ", Paris, France" }
@STRING{sas04       = sas # ", Verona, Italy" }
@STRING{sas05       = sas # ", London, England" }
@STRING{sas06       = sas # ", Seoul, Korea" }
@STRING{sas09       = sas # ", Los Angeles, California" }
@STRING{sas10       = sas # ", Perpignan, France" }
@STRING{sas11       = sas # ", Venice, Italy" }
@STRING{sas14       = sas # ", Munich, Germany" }
@STRING{sas17       = sas # ", New York, New York" }
@STRING{sas23       = sas # ", Cascais, Portugal" }
@STRING{sas26       = sas # ", Oakland, California" }
% ---
@STRING{sosp93      = sosp # ", Asheville, North Carolina" }
% ---
@STRING{sandp11     = sandp # ", Oakland, California" }
% ---
@STRING{tacs94      = tacs # ", Sendai, Japan" }
@STRING{tacs01      = tacs # ", Sendai, Japan" }
% ---
@STRING{tacas98     = tacas # ", Lisbon, Portugal" }
@STRING{tacas01     = tacas # ", Genova, Italy" }
@STRING{tacas06     = tacas # ", Vienna, Austria" }
@STRING{tacas08     = tacas # ", Budapest, Hungary" }
@STRING{tacas11     = tacas # ", Saarbr{\"u}cken, Germany" }
@STRING{tacas12     = tacas # ", Tallinn, Estonia" }
@STRING{tacas13     = tacas # ", Rome, Italy" }
@STRING{tacas15     = tacas # ", London, England" }
@STRING{tacas16     = tacas # ", Eindhoven, The Netherlands" }
@STRING{tacas18     = tacas # ", Thessaloniki, Greece" }
@STRING{tacas20     = tacas # ", Dublin, Ireland" }
% ---
@STRING{tapsoft93   = tapsoft # ", Orsay, France" }
@STRING{tapsoft97   = tapsoft # ", Lille, France" }
% ---
@STRING{tfp07       = tfp # ", New York, New York" }
% ---
@STRING{tic97       = tic # ", Amsterdam, The Netherlands"}
@STRING{tic98       = tic # ", Kyoto, Japan"}
@STRING{tic00       = tic # ", Montr{\'e}al, Qu{\'e}bec" }
% ---
@STRING{tlca93      = tlca # ", Utrecht, The Netherlands" }
@STRING{tlca97      = tlca # ", Nancy, France" }
@STRING{tlca99      = tlca # ", L'Aquila, Italy" }
@STRING{tlca01      = tlca # ", Krak{\'{o}}w, Poland" }
@STRING{tlca03      = tlca # ", Valencia, Spain" }
@STRING{tlca13      = tlca # ", Eindhoven, The Netherlands" }
% ---
@STRING{tldi03      = tldi # ", New Orleans, Louisiana"}
@STRING{tldi12      = tldi # ", Philadelphia, Pennsylvania"}
% ---
@STRING{tpdp18      = tpdp # ", Toronto, Ontario"}
% ---
@STRING{tphol09     = tphol # ", Munich, Germany" }
% ---
@STRING{types93     = types # ", Nijmegen, The Netherlands" }
@STRING{types98     = types # ", Kloster Irsee, Germany" }
% ---
@STRING{uai         = "Conference on Uncertainty in Artificial Intelligence ({UAI})"}
@STRING{uai02       = uai # ", Edmonton, Alberta" }

% ---
@STRING{vstte      = "Working Conference on Verified Software: Theories, Tools
  and Experiments ({VSTTE})" }
@STRING{vstte13    = vstte # ", Menlo Park, California" }

% ---
@STRING{wosn12      = wosn # ", Helsinki, Finland" }

% ---
@STRING{wine11      = wine # ", Singapore" }
@STRING{wine14      = wine # ", Beijing, China" }
@STRING{wine16      = wine # ", Montr{\'e}al, Qu{\'e}bec" }

% ---
@STRING{wsa93       = wsa # ", Padova, Italy" }

% hack to alphabetize funny names (from the LaTeX Companion)
@preamble{"\newcommand{\SortNoop}[1]{}"}

