text:
<?xml version="1.0"?>
<?xml-stylesheet type='text/xsl' href='../../ld2.xsl'?>
<LOBBYINGDISCLOSURE2>
   <imported>N</imported>
   <pages>7</pages>
   <submitURL></submitURL>
   <organizationName>Environmental Defense Action Fund</organizationName>
   <prefix></prefix>
   <firstName></firstName>
   <lastName></lastName>
   <registrantDifferentAddress>N</registrantDifferentAddress>
   <address1>257 PARK AVENUE SOUTH, 17 FLOOR</address1>
   <address2></address2>
   <city>NEW YORK</city>
   <state>NY</state>
   <zip>10010</zip>
   <zipext></zipext>
   <country>USA</country>
   <principal_city></principal_city>
   <principal_state></principal_state>
   <principal_zip></principal_zip>
   <principal_zipext></principal_zipext>
   <principal_country></principal_country>
   <selfSelect>Y</selfSelect>
   <clientName>Environmental Defense Action Fund</clientName>
   <clientGovtEntity>N</clientGovtEntity>
   <senateID>316296-12</senateID>
   <houseID>392140000</houseID>
   <reportYear>2013</reportYear>
   <reportType>4A</reportType>
   <terminationDate></terminationDate>
   <noLobbying></noLobbying>
   <income></income>
   <expenses>250574.00</expenses>
   <expensesMethod>A</expensesMethod>
   <printedName>Cynthia A. Hallenbeck, Chief Financial Officer</printedName>
   <signedDate>02/19/2014</signedDate>
   <alis>
      <ali_info>
         <issueAreaCode>CAW</issueAreaCode>
         <specific_issues>
            <description>CAC meetings about state work on methane and power plant rules,  Senate DPC meeting, and internal legislative meetings.

Note:  Registrants lobbied one or more of the agencies noted.</description>
         </specific_issues>
         <federal_agencies>U.S. SENATE, U.S. HOUSE OF REPRESENTATIVES, Environmental Protection Agency (EPA)</federal_agencies>
         <lobbyists>
            <lobbyist>
               <lobbyistFirstName>Carol</lobbyistFirstName>
               <lobbyistLastName>Andress</lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName>Caroline</lobbyistFirstName>
               <lobbyistLastName>Paulsen</lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
         </lobbyists>
         <foreign_entity_issues></foreign_entity_issues>
      </ali_info>
      <ali_info>
         <issueAreaCode>ENG</issueAreaCode>
         <specific_issues>
            <description>Strategy, meetings and calls.  Proposed whitfield-manchin bill on GHG rules. Meeting on Shaheen-Portman and EPIC Bill

Note:  Registrants lobbied one or more of the agencies noted.</description>
         </specific_issues>
         <federal_agencies>U.S. HOUSE OF REPRESENTATIVES, U.S. SENATE, </federal_agencies>
         <lobbyists>
            <lobbyist>
               <lobbyistFirstName>Carol</lobbyistFirstName>
               <lobbyistLastName>Andress</lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName>Caroline</lobbyistFirstName>
               <lobbyistLastName>Paulsen</lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
         </lobbyists>
         <foreign_entity_issues></foreign_entity_issues>
      </ali_info>
      <ali_info>
         <issueAreaCode>ENV</issueAreaCode>
         <specific_issues>
            <description>Clean Air Act / Climate Change</description>
         </specific_issues>
         <federal_agencies>Environmental Protection Agency (EPA), Interior - Dept of  (DOI)</federal_agencies>
         <lobbyists>
            <lobbyist>
               <lobbyistFirstName>Kusai</lobbyistFirstName>
               <lobbyistLastName>Merchant</lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
         </lobbyists>
         <foreign_entity_issues></foreign_entity_issues>
      </ali_info>
      <ali_info>
         <issueAreaCode>CHM</issueAreaCode>
         <specific_issues>
            <description>Calls and Meetings on TSCA Reform Legislation (Agency: US Congress).</description>
         </specific_issues>
         <federal_agencies></federal_agencies>
         <lobbyists>
            <lobbyist>
               <lobbyistFirstName>Richard</lobbyistFirstName>
               <lobbyistLastName>Denison</lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>Y</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName>Walter </lobbyistFirstName>
               <lobbyistLastName>Pratt</lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>Y</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
         </lobbyists>
         <foreign_entity_issues></foreign_entity_issues>
      </ali_info>
      <ali_info>
         <issueAreaCode>BUD</issueAreaCode>
         <specific_issues>
            <description>budget/appropriations</description>
         </specific_issues>
         <federal_agencies>U.S. SENATE</federal_agencies>
         <lobbyists>
            <lobbyist>
               <lobbyistFirstName>Kusai</lobbyistFirstName>
               <lobbyistLastName>Merchant</lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
            <lobbyist>
               <lobbyistFirstName></lobbyistFirstName>
               <lobbyistLastName></lobbyistLastName>
               <lobbyistSuffix></lobbyistSuffix>
               <coveredPosition></coveredPosition>
               <lobbyistNew>N</lobbyistNew>
            </lobbyist>
         </lobbyists>
         <foreign_entity_issues></foreign_entity_issues>
      </ali_info>
   </alis>
   <updates>
      <clientAddress></clientAddress>
      <clientCity></clientCity>
      <clientState></clientState>
      <clientZip></clientZip>
      <clientZipext></clientZipext>
      <clientCountry></clientCountry>
      <prinClientCity></prinClientCity>
      <prinClientState></prinClientState>
      <prinClientZip></prinClientZip>
      <prinClientZipext></prinClientZipext>
      <prinClientCountry></prinClientCountry>
      <generalDescription></generalDescription>
      <inactive_lobbyists>
         <inactive_lobbyist>
            <firstName>Kusai</firstName>
            <lastName>Merchant</lastName>
            <suffix></suffix>
         </inactive_lobbyist>
         <inactive_lobbyist>
            <firstName>Melissa</firstName>
            <lastName>Carey</lastName>
            <suffix></suffix>
         </inactive_lobbyist>
         <inactive_lobbyist>
            <firstName></firstName>
            <lastName></lastName>
            <suffix></suffix>
         </inactive_lobbyist>
         <inactive_lobbyist>
            <firstName></firstName>
            <lastName></lastName>
            <suffix></suffix>
         </inactive_lobbyist>
         <inactive_lobbyist>
            <firstName></firstName>
            <lastName></lastName>
            <suffix></suffix>
         </inactive_lobbyist>
         <inactive_lobbyist>
            <firstName></firstName>
            <lastName></lastName>
            <suffix></suffix>
         </inactive_lobbyist>
         <inactive_lobbyist>
            <firstName></firstName>
            <lastName></lastName>
            <suffix></suffix>
         </inactive_lobbyist>
         <inactive_lobbyist>
            <firstName></firstName>
            <lastName></lastName>
            <suffix></suffix>
         </inactive_lobbyist>
      </inactive_lobbyists>
      <inactive_ALIs>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
         <ali_Code></ali_Code>
      </inactive_ALIs>
      <affiliatedUrl></affiliatedUrl>
      <affiliatedOrgs>
         <affiliatedOrg>
            <affiliatedOrgName></affiliatedOrgName>
            <affiliatedOrgAddress></affiliatedOrgAddress>
            <affiliatedOrgCity></affiliatedOrgCity>
            <affiliatedOrgState></affiliatedOrgState>
            <affiliatedOrgZip></affiliatedOrgZip>
            <affiliatedOrgCountry></affiliatedOrgCountry>
            <affiliatedPrinOrgCity></affiliatedPrinOrgCity>
            <affiliatedPrinOrgState></affiliatedPrinOrgState>
            <affiliatedPrinOrgCountry></affiliatedPrinOrgCountry>
         </affiliatedOrg>
         <affiliatedOrg>
            <affiliatedOrgName></affiliatedOrgName>
            <affiliatedOrgAddress></affiliatedOrgAddress>
            <affiliatedOrgCity></affiliatedOrgCity>
            <affiliatedOrgState></affiliatedOrgState>
            <affiliatedOrgZip></affiliatedOrgZip>
            <affiliatedOrgCountry></affiliatedOrgCountry>
            <affiliatedPrinOrgCity></affiliatedPrinOrgCity>
            <affiliatedPrinOrgState></affiliatedPrinOrgState>
            <affiliatedPrinOrgCountry></affiliatedPrinOrgCountry>
         </affiliatedOrg>
         <affiliatedOrg>
            <affiliatedOrgName></affiliatedOrgName>
            <affiliatedOrgAddress></affiliatedOrgAddress>
            <affiliatedOrgCity></affiliatedOrgCity>
            <affiliatedOrgState></affiliatedOrgState>
            <affiliatedOrgZip></affiliatedOrgZip>
            <affiliatedOrgCountry></affiliatedOrgCountry>
            <affiliatedPrinOrgCity></affiliatedPrinOrgCity>
            <affiliatedPrinOrgState></affiliatedPrinOrgState>
            <affiliatedPrinOrgCountry></affiliatedPrinOrgCountry>
         </affiliatedOrg>
         <affiliatedOrg>
            <affiliatedOrgName></affiliatedOrgName>
            <affiliatedOrgAddress></affiliatedOrgAddress>
            <affiliatedOrgCity></affiliatedOrgCity>
            <affiliatedOrgState></affiliatedOrgState>
            <affiliatedOrgZip></affiliatedOrgZip>
            <affiliatedOrgCountry></affiliatedOrgCountry>
            <affiliatedPrinOrgCity></affiliatedPrinOrgCity>
            <affiliatedPrinOrgState></affiliatedPrinOrgState>
            <affiliatedPrinOrgCountry></affiliatedPrinOrgCountry>
         </affiliatedOrg>
      </affiliatedOrgs>
      <inactiveOrgs>
         <inactiveOrgName></inactiveOrgName>
         <inactiveOrgName></inactiveOrgName>
         <inactiveOrgName></inactiveOrgName>
         <inactiveOrgName></inactiveOrgName>
         <inactiveOrgName></inactiveOrgName>
         <inactiveOrgName></inactiveOrgName>
      </inactiveOrgs>
      <foreignEntities>
         <foreignEntity>
            <name></name>
            <address></address>
            <city></city>
            <state></state>
            <country></country>
            <prinCity></prinCity>
            <prinState></prinState>
            <prinCountry></prinCountry>
            <contribution></contribution>
            <ownership_Percentage></ownership_Percentage>
         </foreignEntity>
         <foreignEntity>
            <name></name>
            <address></address>
            <city></city>
            <state></state>
            <country></country>
            <prinCity></prinCity>
            <prinState></prinState>
            <prinCountry></prinCountry>
            <contribution></contribution>
            <ownership_Percentage></ownership_Percentage>
         </foreignEntity>
      </foreignEntities>
      <inactive_ForeignEntities>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
         <inactive_ForeignEntity></inactive_ForeignEntity>
      </inactive_ForeignEntities>
   </updates>
</LOBBYINGDISCLOSURE2>


text:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>The Student's Elements of Geology: Title</title>
<meta content="text/html; charset=iso-8859-1" http-equiv=
"Content-Type">
<meta content="MSHTML 5.00.2919.6307" name="GENERATOR">
<link rel="stylesheet" href="geology.css" type="text/css">

The Student’s Elements of Geology

[ 597 ]

Chapter XXXV

ON THE DIFFERENT AGES OF THE METAMORPHIC ROCKS.

Difficulty of ascertaining the Age of metamorphic
Strata. — Metamorphic Strata of Eocene date in the Alps of
Switzerland and Savoy. — Limestone and Shale of Carrara.
— Metamorphic Strata of older date than the Silurian and
Cambrian Rocks. — Order of Succession in metamorphic Rocks.
— Uniformity of mineral Character. — Supposed Azoic
Period. — Connection between the Absence of Organic Remains
and the Scarcity of calcareous Matter in metamorphic Rocks.

According to the theory adopted in the last chapter, the
metamorphic strata have been deposited at one period, and have
become crystalline at another. We can rarely hope to define with
exactness the date of both these periods, the fossils having been
destroyed by Plutonic action, and the mineral characters being the
same, whatever the age. Superposition itself is an ambiguous test,
especially when we desire to determine the period of
crystallisation. Suppose, for example, we are convinced that
certain metamorphic strata in the Alps, which are covered by
cretaceous beds, are altered lias; this lias may have assumed its
crystalline texture in the cretaceous or in some tertiary period,
the Eocene for example.

When discussing the ages of the Plutonic rocks, we have seen
that examples occur of various primary, secondary, and tertiary
deposits converted into metamorphic strata near their contact with
granite. There can be no doubt in these cases that strata once
composed of mud, sand, and gravel, or of clay, marl, and shelly
limestone, have for the distance of several yards, and in some
instances several hundred feet, been turned into gneiss,
mica-schist, hornblende-schist, chlorite-schist, quartz rock,
statuary marble, and the rest. (See the two preceding chapters.) It
may be easy to prove the identity of two different parts of the
same stratum; one, where the rock has been in contact with a
volcanic or Plutonic mass, and has been changed into marble or
hornblende-schist, and another not far distant, where the same bed
remains unaltered and fossiliferous; but when hydrothermal action,
as described in Chapter XXXIII, has operated gradually on a more
extensive scale, it may have finally destroyed

[ 598 ]

all monuments of the date of its development throughout a whole
mountain chain, and all the labour and skill of the most practised
observers are required, and may sometimes be at fault. I shall
mention one or two examples of alteration on a grand scale, in
order to explain to the student the kind of reasoning by which we
are led to infer that dense masses of fossiliferous strata have
been converted into crystalline rocks.

Eocene Strata rendered metamorphic in the Alps.—In
the eastern part of the Alps, some of the Palæozoic strata,
as well as the older Mesozoic formations, including the oolitic and
cretaceous rocks, are distinctly recognisable. Tertiary deposits
also appear in a less elevated position on the flanks of the
Eastern Alps; but in the Central or Swiss Alps, the Palæozoic
and older Mesozoic formations disappear, and the Cretaceous,
Oolitic, Liassic, and at some points even the Eocene strata,
graduate insensibly into metamorphic rocks, consisting of granular
limestone, talc-schist, talcose-gneiss, micaceous schist, and other
varieties.

As an illustration of the partial conversion into gneiss of
portions of a highly inclined set of beds, I may cite Sir R.
Murchison’s memoir on the structure of the Alps. Slates
provincially termed “flysch” (see p. 278), overlying the nummulite limestone
of Eocene date, and comprising some arenaceous and some calcareous
layers, are seen to alternate several times with bands of granitoid
rock, answering in character to gneiss. In this case heat, vapour,
or water at a high temperature may have traversed the more
permeable beds, and altered them so far as to admit of an internal
movement and re-arrangement of the molecules, while the adjoining
strata did not give passage to the same heated gases or water, or,
if so, remained unchanged because they were composed of less
fusible or decomposable materials. Whatever hypothesis we adopt,
the phenomena establish beyond a doubt the possibility of the
development of the metamorphic structure in a tertiary deposit in
planes parallel to those of stratification. The strata appear
clearly to have been affected, though in a less intense degree, by
that same Plutonic action which has entirely altered and rendered
metamorphic so many of the subjacent formations; for in the Alps
this action has by no means been confined to the immediate vicinity
of granite. Granite, indeed, and other Plutonic rocks, rarely make
their appearance at the surface, notwithstanding the deep ravines
which lay open to view the internal structure of these mountains.
That they exist below at no great depth we can not doubt, for at
some points, as in

[ 599 ]

the Valorsine, near Mont Blanc, granite and granitic veins are
observable, piercing through talcose gneiss, which passes
insensibly upward into secondary strata.

It is certainly in the Alps of Switzerland and Savoy, more than
in any other district in Europe, that the geologist is prepared to
meet with the signs of an intense development of Plutonic action;
for here strata thousands of feet thick have been bent, folded, and
overturned, and marine secondary formations of a comparatively
modern date, such as the Oolitic and Cretaceous, have been upheaved
to the height of 12,000, and some Eocene strata to elevations of
10,000 feet above the level of the sea; and even deposits of the
Miocene era have been raised 4000 or 5000 feet, so as to rival in
height the loftiest mountains in Great Britain. In one of the
sections described by M. Studer in the highest of the Bernese Alps,
namely in the Roththal, a valley bordering the line of perpetual
snow on the northern side of the Jungfrau, there occurs a mass of
gneiss 1000 feet thick, and 15,000 feet long, which I examined, not
only resting upon, but also again covered by strata containing
oolitic fossils. These anomalous appearances may partly be
explained by supposing great solid wedges of intrusive gneiss to
have been forced in laterally between strata to which I found them
to be in many sections unconformable. The superposition, also, of
the gneiss to the oolite may, in some cases, be due to a reversal
of the original position of the beds in a region where the
convulsions have been on so stupendous a scale.

Northern Apennines.—Carrara.—The celebrated
marble of Carrara, used in sculpture, was once regarded as a type
of primitive limestone. It abounds in the mountains of Massa
Carrara, or the “Apuan Alps,” as they have been called,
the highest peaks of which are nearly 6000 feet high. Its great
antiquity was inferred from its mineral texture, from the absence
of fossils, and its passage downward into talc-schist and
garnetiferous mica-schist; these rocks again graduating downward
into gneiss, which is penetrated, at Forno, by granite veins. But
the researches of MM. Savi, Boué, Pareto, Guidoni, De la
Beche, Hoffman, and Pilla demonstrated that this marble, once
supposed to be formed before the existence of organic beings, is,
in fact, an altered limestone of the Oolitic period, and the
underlying crystalline schists are secondary sandstones and shales,
modified by Plutonic action. In order to establish these
conclusions it was first pointed out that the calcareous rocks
bordering the Gulf of Spezia, and abounding in Oolitic fossils,
assume a texture like that of Carrara marble, in proportion as they
are more and more

[ 600 ]

invaded by certain trappean and Plutonic rocks, such as diorite,
serpentine, and granite, occurring in the same country.

It was then observed that, in places where the secondary
formations are unaltered, the uppermost consist of common Apennine
limestone with nodules of flint, below which are shales, and at the
base of all, argillaceous and siliceous sandstones. In the
limestone fossils are frequent, but very rare in the underlying
shale and sandstone. Then a gradation was traced laterally from
these rocks into another and corresponding series, which is
completely metamorphic; for at the top of this we find a white
granular marble, wholly devoid of fossils, and almost without
stratification, in which there are no nodules of flint, but in its
place siliceous matter disseminated through the mass in the form of
prisms of quartz. Below this, and in place of the shales, are
talc-schists, jasper, and hornstone; and at the bottom, instead of
the siliceous and argillaceous sandstones, are quartzite and
gneiss.* Had these secondary strata of the Apennines undergone
universally as great an amount of transmutation, it would have been
impossible to form a conjecture respecting their true age; and
then, according to the method of classification adopted by the
earlier geologists, they would have ranked as primary rocks. In
that case the date of their origin would have been thrown back to
an era antecedent to the deposition of the Lower Silurian or
Cambrian strata, although in reality they were formed in the
Oolitic period, and altered at some subsequent and perhaps much
later epoch.

Metamorphic Strata of older date than the Silurian and
Cambrian Rocks.—It was remarked (Fig. 617) that as the hypogene rocks, both
stratified and unstratified, crystallise originally at a certain
depth beneath the surface, they must always, before they are
upraised and exposed at the surface, be of considerable antiquity,
relatively to a large portion of the fossiliferous and volcanic
rocks. They may be forming at all periods; but before any of them
can become visible, they must be raised above the level of the sea,
and some of the rocks which previously concealed them must have
been removed by denudation.

In Canada, as we have seen (p.
491), the Lower Laurentian gneiss, quartzite, and limestone may
be regarded as metamorphic, because, among other reasons, organic
remains (Eozoon Canadense) have been detected in a part of
one of the calcareous masses. The Upper Laurentian or Labrador

* See notices of Savi, Hoffman, and others,
referred to by Boué, Bull. de la Soc. Géol. de
France, tome v, p. 317 and tome iii, p. 44; also Pilla, cited by
Murchison, Quart. Geol. Journ., vol. v, p. 266.

[ 601 ]

series lies unconformably upon the Lower, and differs from it
chiefly in having as yet yielded no fossils. It consists of gneiss
with Labrador-feldspar and feldstones, in all 10,000 feet thick,
and both its composition and structure lead us to suppose that,
like the Lower Laurentian, it was originally of sedimentary origin
and owes its crystalline condition to metamorphic action. The
remote date of the period when some of these old Laurentian strata
of Canada were converted into gneiss may be inferred from the fact
that pebbles of that rock are found in the overlying Huronian
formation, which is probably of Cambrian age (p. 490).

The oldest stratified rock of Scotland is the hornblendic gneiss
of Lewis, in the Hebrides, and that of the north-west coast of
Ross-shire, represented at the base of the section given at Fig. 82. It is the same as that
intersected by numerous granite veins which forms the cliffs of
Cape Wrath, in Sutherlandshire (see
Fig. 613), and is conjectured to be of Laurentian age. Above
it, as shown in the section (Fig.
82), lie unconformable beds of a reddish or purple sandstone
and conglomerate, nearly horizontal, and between 3000 and 4000 feet
thick. In these ancient grits no fossils have been found, but they
are supposed to be of Cambrian date, for Sir R. Murchison found
Lower Silurian strata resting unconformably upon them. These strata
consist of quartzite with annelid burrows already alluded to (p. 112), and limestone in which Mr.
Charles Peach was the first to find, in 1854, three or four species
of Orthoceras, also the genera Cyrtoceras and
Lituites, two species of Murchisonia, a
Pleurotomaria, a species of Maclurea, one of
Euomphalus, and an Orthis. Several of the species are
believed by Mr. Salter to be identical with Lower Silurian fossils
of Canada and the United States.

The discovery of the true age of these fossiliferous rocks was
one of the most important steps made of late years in the progress
of British Geology, for it led to the unexpected conclusion that
all the Scotch crystalline strata to the eastward, once called
primitive, which overlie the limestone and quartzite in question,
are referable to some part of the Silurian series.

These Scotch metamorphic strata are of gneiss, mica-schist, and
clay-slate of vast thickness, and having a strike from north-east
to south-west almost at right angles to that of the older
Laurentian gneiss before mentioned. The newer crystalline series,
comprising the crystalline rocks of Aberdeenshire, Perthshire, and
Forfarshire, were inferred by Sir R. Murchison to be altered
Silurian strata; and his opinion

[ 602 ]

has been since confirmed by the observations of three able
geologists, Messrs. Ramsay, Harkness, and Geikie. The newest of the
series is a clay-slate, on which, along the southern borders of the
Grampians, the Lower Old Red, containing Cephalaspis Lyelli,
Pterygotus Anglicus, and Parka decipiens, rests
unconformably.

Order of Succession in Metamorphic Rocks.—There is
no universal and invariable order of superposition in metamorphic
rocks, although a particular arrangement may prevail throughout
countries of great extent, for the same reason that it is traceable
in those sedimentary formations from which crystalline strata are
derived. Thus, for example, we have seen that in the Apennines,
near Carrara, the descending series, where it is metamorphic,
consists of, first, saccharine marble; second, talcose-schist; and
third, of quartz-rock and gneiss: where unaltered, of, first,
fossiliferous limestone; second, shale; and third, sandstone.

But if we investigate different mountain chains, we find gneiss,
mica-schist, hornblende-schist, chlorite-schist, hypogene
limestone, and other rocks, succeeding each other, and alternating
with each other in every possible order. It is, indeed, more common
to meet with some variety of clay-slate forming the uppermost
member of a metamorphic series than any other rock; but this fact
by no means implies, as some have imagined, that all clay-slates
were formed at the close of an imaginary period when the deposition
of the crystalline strata gave way to that of ordinary sedimentary
deposits. Such clay-slates, in fact, are variable in composition,
and sometimes alternate with fossiliferous strata, so that they may
be said to belong almost equally to the sedimentary and metamorphic
order of rocks. It is probable that, had they been subjected to
more intense Plutonic action, they would have been transformed into
hornblende-schist, foliated chlorite-schist, scaly talcose-schist,
mica-schist, or other more perfectly crystalline rocks, such as are
usually associated with gneiss.

Uniformity of Mineral Character in Hypogene
Rocks.—It is true, as Humboldt has happily remarked, that
when we pass to another hemisphere, we see new forms of animals and
plants, and even new constellations in the heavens; but in the
rocks we still recognise our old acquaintances—the same granite,
the same gneiss, the same micaceous schist, quartz-rock, and the
rest. There is certainly a great and striking general resemblance
in the principal kinds of hypogene rocks in all countries, however
different their ages; but each of them, as we have seen, must be
regarded as geological

[ 603 ]

families of rocks, and not as definite mineral compounds. They
are more uniform in aspect than sedimentary strata, because these
last are often composed of fragments varying greatly in form, size,
and colour, and contain fossils of different shapes and mineral
composition, and acquire a variety of tints from the mixture of
various kinds of sediment. The materials of such strata, if they
underwent metamorphism, would be subject to chemical laws, simple
and uniform in their action, the same in every climate, and wholly
undisturbed by mechanical and organic causes. It would, however, be
a great error to assume, as some have done, that the hypogene
rocks, considered as aggregates of simple minerals, are really more
homogeneous in their composition than the several members of the
sedimentary series. Not only do the proportional quantities of
feldspar, quartz, mica, hornblende, and other minerals, vary in
hypogene rocks bearing the same name; but what is still more
important, the ingredients, as we have seen, of the same simple
mineral are not always constant (see
p. 503 and table, p. 499).

Supposed Azoic Period.—The total absence of any
trace of fossils has inclined many geologists to attribute the
origin of the most ancient strata to an azoic period, or one
antecedent to the existence of organic beings. Admitting, they say,
the obliteration, in some cases, of fossils by Plutonic action, we
might still expect that traces of them would oftener be found in
certain ancient systems of slate which can scarcely be said to have
assumed a crystalline structure. But in urging this argument it
seems to have been forgotten that there are stratified formations
of enormous thickness, and of various ages, some of them even of
Tertiary date, and which we know were formed after the earth had
become the abode of living creatures, which are, nevertheless, in
some districts, entirely destitute of all vestiges of organic
bodies. In some, the traces of fossils may have been effaced by
water and acids, at many successive periods; indeed the removal of
the calcareous matter of fossil shells is proved by the fact of
such organic remains being often replaced by silex or other
minerals, and sometimes by the space once occupied by the fossil
being left empty, or only marked by a faint impression.

Those who believed the hypogene rocks to have originated
antecedently to the creation of organic beings, imputed the absence
of lime, so remarkable in metamorphic strata, to the non-existence
of those mollusca and zoophytes by which shells and corals are
secreted; but when we ascribe the crystalline formations to
Plutonic action, it is natural to inquire whether this action
itself may not tend to expel carbonic

[ 604 ]

acid and lime from the materials which it reduces to fusion or
semi-fusion. Not only carbonate of lime, but also free carbonic
acid gas, is given off plentifully from the soil and crevices of
rocks in regions of active and spent volcanoes, as near Naples and
in Auvergne. By this process, fossil shells or corals may often
lose their carbonic acid, and the residual lime may enter into the
composition of augite, hornblende, garnet, and other hypogene
minerals. Although we can not descend into the subterranean regions
where volcanic heat is developed, we can observe in regions of
extinct volcanoes, such as Auvergne and Tuscany, hundreds of
springs, both cold and thermal, flowing out from granite and other
rocks, and having their waters plentifully charged with carbonate
of lime.

If all the calcareous matter transferred in the course of ages
by these and thousands of other springs from the lower part of the
earth’s crust to the atmosphere could be presented to us in a
solid form, we should find that its volume was comparable to that
of many a chain of hills. Calcareous matter is poured into lakes
and the ocean by a thousand springs and rivers; so that part of
almost every new calcareous rock chemically precipitated, and of
many reefs of shelly and coralline stone, must be derived from
mineral matter subtracted by Plutonic agency, and driven up by gas
and steam from fused and heated rocks in the bowels of the
earth.

The scarcity of limestone in many extensive regions of
metamorphic rocks, as in the Eastern and Southern Grampians of
Scotland, may have been the result of some action of this kind; and
if the limestones of the Lower Laurentian in Canada afford a
remarkable exception to the general rule, we must not forget that
it is precisely in this most ancient formation that the Eozoon
Canadense has been found. The fact that some distinct bands of
limestone from 700 to 1500 feet thick occur here, may be connected
with the escape from destruction of some few traces of organic
life, even in a rock in which metamorphic action has gone so far as
to produce serpentine, augite, and other minerals found largely
intermixed with the carbonate of lime.

Contents /
Chapter XXXIV / Chapter XXXVI

redpajama_set_name: RedPajamaGithub


text:
/*
 * File:   CompileStep.h
 * Author: alain
 *
 * Created on July 5, 2017, 10:44 PM
 */

#ifndef SURELOG_COMPILESTEP_H
#define SURELOG_COMPILESTEP_H
#pragma once

#include <Surelog/Common/NodeId.h>
#include <Surelog/Common/SymbolId.h>
#include <Surelog/SourceCompile/VObjectTypes.h>

#include <string>
#include <unordered_set>
#include <vector>

namespace SURELOG {

class VObject;

class CompileStep {
 public:
  CompileStep() = default;
  CompileStep(const CompileStep& orig) = default;
  virtual ~CompileStep() = default;

  virtual VObject Object(NodeId index) const = 0;

  virtual NodeId UniqueId(NodeId index) const = 0;

  virtual SymbolId Name(NodeId index) const = 0;

  virtual NodeId Child(NodeId index) const = 0;

  virtual NodeId Sibling(NodeId index) const = 0;

  virtual NodeId Definition(NodeId index) const = 0;

  virtual NodeId Parent(NodeId index) const = 0;

  virtual VObjectType Type(NodeId index) const = 0;

  virtual unsigned int Line(NodeId index) const = 0;

  virtual std::string Symbol(SymbolId id) const = 0;

  virtual NodeId sl_get(NodeId parent,
                        VObjectType type) const = 0;  // Get first item of type

  virtual NodeId sl_parent(
      NodeId parent,
      VObjectType type) const = 0;  // Get first parent item of type

  virtual NodeId sl_parent(NodeId parent, const VObjectTypeUnorderedSet& types,
                           VObjectType& actualType) const = 0;

  virtual std::vector<NodeId> sl_get_all(
      NodeId parent, VObjectType type) const = 0;  // get all items of type

  virtual NodeId sl_collect(
      NodeId parent,
      VObjectType type) const = 0;  // Recursively search for first item of type

  virtual std::vector<NodeId> sl_collect_all(
      NodeId parent,
      VObjectType type) const = 0;  // Recursively search for all items of type

  virtual std::string SymName(NodeId index) const = 0;

 private:
};

};  // namespace SURELOG

#endif /* SURELOG_COMPILESTEP_H */


text:
package org.spongepowered.common.data.manipulator.mutable.entity;

import org.spongepowered.api.data.DataContainer;
import org.spongepowered.api.data.key.Keys;
import org.spongepowered.api.data.manipulator.immutable.entity.ImmutableTargetedEntityData;
import org.spongepowered.api.data.manipulator.mutable.entity.TargetedEntityData;
import org.spongepowered.api.data.value.mutable.Value;
import org.spongepowered.api.entity.EntitySnapshot;
import org.spongepowered.common.data.manipulator.immutable.entity.ImmutableSpongeTargetedEntityData;
import org.spongepowered.common.data.manipulator.mutable.common.AbstractData;
import org.spongepowered.common.data.util.ImplementationRequiredForTest;
import org.spongepowered.common.data.value.mutable.SpongeValue;

import javax.annotation.Nullable;

@ImplementationRequiredForTest
public final class SpongeTargetedEntityData extends AbstractData<TargetedEntityData, ImmutableTargetedEntityData>
        implements TargetedEntityData {

    @Nullable private EntitySnapshot value;

    public SpongeTargetedEntityData() {
        this(null);
    }

    public SpongeTargetedEntityData(EntitySnapshot value) {
        super(TargetedEntityData.class);
        this.value = value;
        registerGettersAndSetters();
    }

    @Override
    public TargetedEntityData copy() {
        return new SpongeTargetedEntityData(this.value);
    }

    @Override
    public ImmutableTargetedEntityData asImmutable() {
        return new ImmutableSpongeTargetedEntityData(this.value);
    }

    @Override
    public Value<EntitySnapshot> value() {
        return new SpongeValue<>(Keys.TARGETED_ENTITY, this.value);
    }

    @Override
    public DataContainer toContainer() {
        return super.toContainer()
                .set(Keys.TARGETED_ENTITY, this.value);
    }

    public EntitySnapshot getValue() {
        return this.value;
    }

    public void setValue(EntitySnapshot value) {
        this.value = value;
    }

    @Override
    protected void registerGettersAndSetters() {
        registerFieldGetter(Keys.TARGETED_ENTITY, SpongeTargetedEntityData.this::getValue);
        registerFieldSetter(Keys.TARGETED_ENTITY, SpongeTargetedEntityData.this::setValue);
        registerKeyValue(Keys.TARGETED_ENTITY, SpongeTargetedEntityData.this::value);
    }
}


text:
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <script>
        window.CKEDITOR_BASEPATH = '../node_modules/ckeditor/dist/ckeditor/';
    </script>
    <script src="../node_modules/lodash/index.js"></script>
    <script src="../node_modules/vow/vow.min.js"></script>
    <script src="../node_modules/ckeditor/dist/ckeditor-full.js"></script>
    <script>delete CKEDITOR.plugins.registered[ 'switchmode' ];</script>
    <script src="../plugin.js"></script>
</head>
<body>
    <textarea id="editor"></textarea>
<script>
(function() {
    var config = {
        'themeResetAll': false,
        'language': 'ru',
        'enableHotkeys': true,
        'title': '',
        'height': 500,
        'extraPlugins': 'switchmode',
        'on': {
            'instanceReady': function() {
                this.setData(
                    ''
                );
            },
            'switchmode:switched': function() {
                console.log('switched');
            },
            'switchmode:savebookmark': function() {
                console.log('savebookmark');
            }
        }
    };

    CKEDITOR.editorConfig(config);

    CKEDITOR.replace('editor', config);
}());
</script>
</body>
</html>


text:
1.1.7
=====

Here's what's new in Release 1.1.7 (7 February 2018):

**Bug fixes**

- Geospatial visualizations using the Mapbox renderer now allow for arbitrary values to be placed on maps. Previously, the UI would restrict values to numeric types only (`#460 <https://github.com/ibm-watson-data-lab/pixiedust/issues/460>`_).

- Mapbox charts now correctly support popup boxes when hovering over a map symbol. The previous implementation only supported popups for numeric data types. Now, non-numeric data types are also supported in these messages (`#203 <https://github.com/ibm-watson-data-lab/pixiedust/issues/203>`_).

- Mapbox visualizations now properly support feature data containing quote characters. PixieDust uses a new method for loading attributes into the map's iframe, preventing data containing quotes from breaking the process and displaying a blank canvas (`#461 <https://github.com/ibm-watson-data-lab/pixiedust/issues/461>`_).

**Enhancements**

- Charts now support aggregate value filtering. Users can now define a filter while exploring a visualization generated by PixieDust's ``display()`` function. The old workflow forced users to shape the data by manipulating a DataFrame, and then relaunch the visualization (`#127 <https://github.com/ibm-watson-data-lab/pixiedust/issues/127>`_).

- PixieDust's default table visualization has been re-architected to support new options and filtering. Highlights include the ability to display more than 100 rows of data, and the ability to use the search bar across the full data set (`#595 <https://github.com/ibm-watson-data-lab/pixiedust/issues/595>`_).

- Charts using the Brunel renderer now properly display the legend, and line charts with multiple lines are now clearly labelled with different colors (`#519 <https://github.com/ibm-watson-data-lab/pixiedust/issues/519>`_).

- Brunel-rendered charts now support subplots (`#577 <https://github.com/ibm-watson-data-lab/pixiedust/pull/577>`_).

- Updated icons for selecting chart types (`#568 <https://github.com/ibm-watson-data-lab/pixiedust/issues/568>`_).


text:
using SigninInterceptionType = DiceWebSigninInterceptor::SigninInterceptionType;

class DiceWebSigninInterceptionBubbleViewTestBase : public testing::Test {
 public:
  DiceWebSigninInterceptionBubbleViewTestBase() {
    profile_ = IdentityTestEnvironmentProfileAdaptor::
        CreateProfileForIdentityTestEnvironment();
    identity_test_env_adaptor_ =
        std::make_unique<IdentityTestEnvironmentProfileAdaptor>(profile_.get());
    signin::IdentityTestEnvironment* identity_test_env =
        identity_test_env_adaptor_->identity_test_env();

    enterprise_account_ =
        identity_test_env->MakeAccountAvailable("bob@example.com");
    enterprise_account_.hosted_domain = "example.com";
    identity_test_env->UpdateAccountInfoForAccount(enterprise_account_);
    personal_account_ =
        identity_test_env->MakeAccountAvailable("alice@gmail.com");
  }

  signin::IdentityTestEnvironment* identity_test_env() {
    return identity_test_env_adaptor_->identity_test_env();
  }

  signin::IdentityManager* identity_manager() {
    return identity_test_env_adaptor_->identity_test_env()->identity_manager();
  }

  Profile* profile() { return profile_.get(); }

  content::BrowserTaskEnvironment task_environment_;
  std::unique_ptr<TestingProfile> profile_;
  std::unique_ptr<IdentityTestEnvironmentProfileAdaptor>
      identity_test_env_adaptor_;

  AccountInfo enterprise_account_;
  AccountInfo personal_account_;
};

class DiceWebSigninInterceptionBubbleViewSyncParamTest
    : public DiceWebSigninInterceptionBubbleViewTestBase,
      public testing::WithParamInterface<
          std::tuple<SigninInterceptionType, SigninInterceptionResult>> {};

TEST_P(DiceWebSigninInterceptionBubbleViewSyncParamTest, HistogramTests) {
  SigninInterceptionType type = std::get<0>(GetParam());
  SigninInterceptionResult result = std::get<1>(GetParam());

  base::HistogramTester histogram_tester;

  DiceWebSigninInterceptor::Delegate::BubbleParameters bubble_parameters = {
      type, enterprise_account_, personal_account_};

  DiceWebSigninInterceptionBubbleView::RecordInterceptionResult(
      bubble_parameters, profile(), result);

  // Check enterprise histograms.
  if (type == SigninInterceptionType::kEnterprise) {
    histogram_tester.ExpectUniqueSample("Signin.InterceptResult.Enterprise",
                                        result, 1);
  } else {
    histogram_tester.ExpectTotalCount("Signin.InterceptResult.Enterprise", 0);
    histogram_tester.ExpectTotalCount("Signin.InterceptResult.Enterprise.Sync",
                                      0);
    histogram_tester.ExpectTotalCount(
        "Signin.InterceptResult.Enterprise.NoSync", 0);
    histogram_tester.ExpectTotalCount(
        "Signin.InterceptResult.Enterprise.NewIsEnterprise", 0);
    histogram_tester.ExpectTotalCount(
        "Signin.InterceptResult.Enterprise.PrimaryIsEnterprise", 0);
  }

  // Check multi-user histograms.
  if (type == SigninInterceptionType::kMultiUser) {
    histogram_tester.ExpectUniqueSample("Signin.InterceptResult.MultiUser",
                                        result, 1);
  } else {
    histogram_tester.ExpectTotalCount("Signin.InterceptResult.MultiUser", 0);
    histogram_tester.ExpectTotalCount("Signin.InterceptResult.MultiUser.Sync",
                                      0);
    histogram_tester.ExpectTotalCount("Signin.InterceptResult.MultiUser.NoSync",
                                      0);
  }

  // Check switch histograms.
  if (type == SigninInterceptionType::kProfileSwitch) {
    histogram_tester.ExpectUniqueSample("Signin.InterceptResult.Switch", result,
                                        1);
  } else {
    histogram_tester.ExpectTotalCount("Signin.InterceptResult.Switch", 0);
    histogram_tester.ExpectTotalCount("Signin.InterceptResult.Switch.Sync", 0);
    histogram_tester.ExpectTotalCount("Signin.InterceptResult.Switch.NoSync",
                                      0);
  }
}

INSTANTIATE_TEST_SUITE_P(
    BubbleParameterCombinations,
    DiceWebSigninInterceptionBubbleViewSyncParamTest,
    testing::Combine(testing::ValuesIn({
                         SigninInterceptionType::kEnterprise,
                         SigninInterceptionType::kMultiUser,
                         SigninInterceptionType::kProfileSwitch,
                     }),
                     testing::ValuesIn({
                         SigninInterceptionResult::kAccepted,
                         SigninInterceptionResult::kDeclined,
                         SigninInterceptionResult::kIgnored,
                         SigninInterceptionResult::kNotDisplayed,
                     })));

TEST_F(DiceWebSigninInterceptionBubbleViewTestBase, SyncHistograms) {
  SigninInterceptionResult result = SigninInterceptionResult::kAccepted;
  DiceWebSigninInterceptor::Delegate::BubbleParameters bubble_parameters = {
      SigninInterceptionType::kEnterprise, enterprise_account_,
      personal_account_};

  // Not Syncing.
  {
    base::HistogramTester histogram_tester;
    DiceWebSigninInterceptionBubbleView::RecordInterceptionResult(
        bubble_parameters, profile(), result);
    histogram_tester.ExpectTotalCount("Signin.InterceptResult.Enterprise.Sync",
                                      0);
    histogram_tester.ExpectUniqueSample(
        "Signin.InterceptResult.Enterprise.NoSync", result, 1);
  }

  // Syncing.
  identity_test_env()->SetPrimaryAccount(personal_account_.email,
                                         signin::ConsentLevel::kSync);
  {
    base::HistogramTester histogram_tester;
    DiceWebSigninInterceptionBubbleView::RecordInterceptionResult(
        bubble_parameters, profile(), result);
    histogram_tester.ExpectTotalCount(
        "Signin.InterceptResult.Enterprise.NoSync", 0);
    histogram_tester.ExpectUniqueSample(
        "Signin.InterceptResult.Enterprise.Sync", result, 1);
  }
}

TEST_F(DiceWebSigninInterceptionBubbleViewTestBase, EnterpriseHistograms) {
  SigninInterceptionResult result = SigninInterceptionResult::kAccepted;

  // New account is Enterprise.
  {
    base::HistogramTester histogram_tester;
    DiceWebSigninInterceptor::Delegate::BubbleParameters bubble_parameters = {
        SigninInterceptionType::kEnterprise, enterprise_account_,
        personal_account_};
    DiceWebSigninInterceptionBubbleView::RecordInterceptionResult(
        bubble_parameters, profile(), result);
    histogram_tester.ExpectTotalCount(
        "Signin.InterceptResult.Enterprise.PrimaryIsEnterprise", 0);
    histogram_tester.ExpectUniqueSample(
        "Signin.InterceptResult.Enterprise.NewIsEnterprise", result, 1);
  }

  // Primary account is Enterprise.
  identity_test_env()->SetPrimaryAccount(personal_account_.email,
                                         signin::ConsentLevel::kSync);
  {
    base::HistogramTester histogram_tester;
    DiceWebSigninInterceptor::Delegate::BubbleParameters bubble_parameters = {
        SigninInterceptionType::kEnterprise, personal_account_,
        enterprise_account_};
    DiceWebSigninInterceptionBubbleView::RecordInterceptionResult(
        bubble_parameters, profile(), result);
    histogram_tester.ExpectTotalCount(
        "Signin.InterceptResult.Enterprise.NewIsEnterprise", 0);
    histogram_tester.ExpectUniqueSample(
        "Signin.InterceptResult.Enterprise.PrimaryIsEnterprise", result, 1);
  }
}


text:
<!DOCTYPE html>
<html>
  <head>
    <title>Main page</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <script type="text/javascript" charset="utf-8" src="teavm/classes.js"></script>
  </head>
  <body onload="main()">
    <!-- TODO: add HTML content -->
  </body>
</html>


text:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ProgramingStudy.Study
{
    class ProsteTypy : IStudyTest
    {
        public void Study()
        {

            //TypeDescriptor.GetConverter(typeof(T)).CanConvertFrom(typeof(string)

        }
    }
}


text:
import style from './style.scss';

export default style;