Auckland's wet weather is making it difficult to mow grass in some parks.
Howick Local Board Chair David Collings is calling for patience with Auckland's wet winter weather starting to cause headaches for contractors unable to mow sodden turf across the local board area.
"People will have started to notice this already and I want to assure the community that the local board is keeping on top of this issue. I am meeting with the community facilities manager for our area every week and have insisted on regular updates to all board members so we can track progress," he says.
"The reality is the machinery they need to use would cause more damage by cutting up the ground and the contractors have been told not to mow.
Mr Collings acknowledges locals' pride in their community and says the local board was just as frustrated as the public last year when parks were not being maintained to a standard many had expected.
"Not only was it one of Auckland's wettest winters in years but we had new contractors and the scale of problems the weather created caught everyone by surprise and things just snowballed.
"We have made it very clear we don't want a repeat of last year and our community facilities staff have been really responsive in keeping us informed. However we accept that working on grounds when they are so wet could cause further damage and cost ratepayers more in the long run.
Since July 2017, the Howick ward area has been serviced by Ventia, which is contracted to carry out maintenance on public buildings and parks.
Auckland Council's Acting Head of Operational Management and Maintenance, Simon Randall, says on any given day there can be up to 40 people working in the area.
"With more than 266 parks,14 sports parks, four libraries, four recreation centres and seven community halls, it is a massive undertaking in just maintenance alone.
Residents with concerns or questions about maintenance should call the council's 24-hour call centre on 09 301 0101.
Auckland Council has received a statement from one of our maintenance contractors Ventia, apologising for delays in its mowing and gardening work.


text:
Associations between the degree of correction of hypoglycemia and ICU mortality
R Van Hooijdonk1,
JM Binnekade1,
A Abu-Hanna1,
F Van Braam Houckgeest2,
LS Hofstra3,
J Horn1,
MA Kuiper4,
NP Juffermans1,
HL Van den Oever5,
JP Van der Sluijs6,
PE Spronk7 &
MJ Schultz1
It is conjectured that transition of hypoglycemia to hyperglycemia may be more harmful than hypoglycemia itself. We investigated the association between the degree of correction of hypoglycemia and ICU mortality in patients under moderately strict to strict glycemic control.
This is a retrospective analysis from a pooled cohort from seven ICUs in the Netherlands over 6 years. ICU patients who developed hypoglycemia (<70 mg/dl) were included. We excluded patients who were readmitted, and patients with hypoglycemia in whom no follow-up blood glucose measurement was performed within 8 hours. We determined the association between three measures of correction of hypoglycemia within 8 hours after hypoglycemia and ICU mortality: predefined ranges of the 'highest blood glucose level' (<80 mg/dl; 80 to 110 mg/dl; 110 to 150 mg/dl (reference category); 150 to 180 mg/ dl; and >180 mg/dl); quartiles of the 'delta glucose', defined as the difference between minimum and maximum blood glucose level with the third quartile as reference category; and quartiles of the 'standard deviation' of the blood glucose level with the third quartile as reference category.
In total, 4,516 ICU patients developed at least one episode of hypoglycemia. In three separate multivariate analyses for each of the three measures we adjusted for the respective confounders. The category 80 to 110 mg/dl of the 'highest blood glucose level' was associated with increased mortality compared with the reference category (odds ratio (OR) = 1.31, 95% confidence interval (CI) = 1.06 to 1.61). The lowest quartile of the 'delta glucose' (OR = 1.32, 95% CI = 1.03 to 1.69) and the lowest quartile of the 'standard deviation' (OR = 1.55, 95% CI = 1.23 to 1.96) were associated with higher ICU mortality than their reference categories.
Not the transition to hyperglycemia, but insufficient recovery from hypoglycemia is associated with an increased ICU mortality in patients under moderately strict or strict glucose control with insulin.
Academic Medical Center, Amsterdam, the Netherlands
R Van Hooijdonk, JM Binnekade, A Abu-Hanna, J Horn, NP Juffermans & MJ Schultz
Tergooi Hospitals, Hilversum, the Netherlands
F Van Braam Houckgeest
Scheper Hospital, Emmen, the Netherlands
LS Hofstra
Medical Centre Leeuwarden, the Netherlands
MA Kuiper
Deventer Hospital, Deventer, the Netherlands
HL Van den Oever
Medical Center Haaglanden, The Hague, the Netherlands
JP Van der Sluijs
Gelre Hospitals, Apeldoorn, the Netherlands
PE Spronk
R Van Hooijdonk
JM Binnekade
A Abu-Hanna
J Horn
NP Juffermans
MJ Schultz
Hooijdonk, R.V., Binnekade, J., Abu-Hanna, A. et al. Associations between the degree of correction of hypoglycemia and ICU mortality. Crit Care 19, P367 (2015). https://doi.org/10.1186/cc14447
Reference Category
Lower Quartile
Blood Glucose Measurement

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: comparação usando caracteres em c Ok, o problema so esta na função q31 e na q311.
http://pastebin.com/8CJwKej4
Deixei o codigo completo no link acima.
então aqui esta funçao q311:
void q311(){
char forma;
int n,jota,b,i,j;
printf("Informe a figura e o tamanho: ");
scanf("%c",&forma);
scanf("%i",&n);
    if (forma=='q')
    {
        for ( i = 0; i < n; ++i)
        {
        printf("*");
            for ( b = 1; b < n; ++b)
            {
                if ((i==jota)|| (i==0))
                {
                    printf("*");
                }
                else if (b==jota)
                {
                    printf("*");
                }
                else
                    printf(" ");
            }
            printf("\n");
            }
        }
    else if (forma=='t')
    {
        for(int i=n-1;i>=0;i--)
        {
            for(int j=0;j<=i;j++)
            {
             if(i==n-1 || j==0 ||i==j)
                 printf("*");
              else
                printf(" ");
        }
          printf("\n");
         }
    }
    else
        printf("Forma Invalida\n");

}

O meu programa sempre da como saída "Forma Invalida" mesmo que voce digite "t" ou "q"... Queria saber por que isso esta acontecendo.

A: O que ocorre é que stdin está com o caractere que você tinha digitado na função principal para escolher a função q311, um "enter". E um enter realmente não é um "t" ou um "q".
A forma mais simples de corrigir isso é fazendo com que o scanf ignore o "enter" acrescentando um espaço antes do tipo:
scanf(" %c",&forma);

Recomendo duas leituras:
Uma pergunta nossa.
Um material externo.

redpajama_set_name: RedPajamaStackExchange


IIROC now grants continuing education credits for IFSID's Modules 1, 2, 7, 8 and 9!
This is great news: After approving CE units for Module 1 in early 2015, The Investment Industry Regulatory Organization of Canada (IIROC) has now also approved CE units for Modules 2,7, 8 and 9 of IFSID's training program (please see below). Now, IFSID's training modules will provide you with valuable CE units in addition to cutting-edge knowledge. It's now up to you to enjoy the good news!


text:
Q: "SELECT VALUE" - value keyword in LINQ/Entity Framework query What does the keyword "value" mean in this statement, and where would I go to learn more?
What happens if I leave out the keyword "value"? In the code below, z is an entity framework class.
string queryString = "SELECT VALUE q from x.zs as q where q.a = @parm;"
ObjectQuery<z> query = context.CreateQuery<z>
    (queryString, new ObjectParameter("parmname",parmvalue));
return query.First();

(This is a part of a practice question for an exam).
The above code is in a function that returns a variable of type z.

A: That is Entity SQL syntax. Value keyword allows only one value to be specified, and does not add a row wrapper.
Read article about SELECT statement in ESQL

Entity SQL supports two variants of the SELECT clause. The first
  variant, row select, is identified by the SELECT keyword, and can be
  used to specify one or more values that should be projected out.
  Because a row wrapper is implicitly added around the values returned,
  the result of the query expression is always a multiset of rows.
Each query expression in a row select must specify an alias. If no
  alias is specified,Entity SQL attempts to generate an alias by using
  the alias generation rules.
The other variant of the SELECT clause, value select, is identified by
  the SELECT VALUE keyword. It allows only one value to be specified,
  and does not add a row wrapper.

So, if you want to materialize z object from your query, you should use SELECT VALUE syntax (otherwise you will get exception: cast from MaterializedDataRecord to z type is not valid).
Without VALUE keyword you will get set of rows:
string esql = "SELECT q from x.zs as q where q.a = @parm;";
ObjectQuery<DbDataRecord> query = context
       .CreateQuery<DbDataRecord>(esql, new ObjectParameter("parm",parmvalue));
var result = query.First();


text:
Shop All Prints
About Our Negatives
eDavid Gallery
Savoy Plaza Hotel 1930s
10" x 8" 20" x 16" 24" x 20" 30" x 24" 40" x 30" 50" x 40"
10" x 8" - $130.00 USD 20" x 16" - $275.00 USD 24" x 20" - $300.00 USD 30" x 24" - $425.00 USD 40" x 30" - $650.00 USD 50" x 40" - $750.00 USD
Built in 1928 for the developer Harry Black, the twenty-nine-story Savoy-Plaza was a late, tepid design by McKim, Mead & White. But it was grand, and helped define the space of Grand Army Plaza, arguably New York's most successful public square, ringed by the Squibb Building, Bergdorf-Goodman, the Metropolitan Club, and the Plaza, Pierre and Sherry Netherland Hotels—which were all generally white or beige. The W. P. A. Guide to New York City of 1939 praised the "extraordinary unity" of the surrounding buildings.
Sixty-somethings and tiki-tiki aficionados know it as the original location of Trader Vic's, purveyor of Fogcutters, Po-Po, Cho-Cho, and other exotic foods, with outriggers, spears, grass roofs, and other Polynesian decoration overhead.
Alas, the 1960s saw the ascent of Hilton-tacky in hotel design, and the thick walls, elegant spaces, and solid materials of the 1920's hotels seemed drastically old-fashioned. Thus, when an investment group came down the pike in 1964, the hotel owners checked out—with no tip. In October, the architects and teachers Elliot Willensky and Norval White—who had picketed the demolition of the Savoy-Plaza. Signs included "Renege on Rampant Wrecking," and one placard, "Landmarks Preservation Weak," was a bitter satirical jab at Mayor Robert F. Wagner, who had just declared "Landmarks Preservation Week" but had not put the proposed landmarks law into effect. One student, Miles Kurland, carried a sign "Save the Seagram Building"—he told the New York Times he was "thinking ahead."
This picket line was insignificant compared to the one at Penn Station, and did even less—the Savoy-Plaza was demolished for Edward Durrell Stone's pretty-awful-but-not-as-bad-as-it-could-be fifty-story General Motors Building, a proto-World Trade Center of Georgia Marble columns and setback sunken shipping plaza, the result of a zoning bonus. "A sick planning joke," write Ada Louise Huxtable in the New York Times in 1966—the plaza not only broke the building line surrounding the real plaza, but also the sunken aspect created a pedestrian scar in the landscape. The introduction of the plaza bonus was one of those mid-century iconic benefits which were, according to a unanimous orthodoxy, supposed to save the city. It did not. Here was a case where we had all the open space we needed, and in 2000 the developer Donald Trump covered it over.
Print Type: Archival Digital C Print
Print Size is Approximate
All digital archival prints are printed on Kodak Endura or Fuji Crystal Archive Paper
Larger sizes available upon request.
Need a custom size? Contact us for pricing.
See here for print processing time.
© 2023, eDavid Gallery


text:
ConservationBytes.com
Conservation research … with bite
Dingoes
CJA Bradshaw
Fanciful mathematics and ecological fantasy
© flickr/themadlolscientist
Bear with me here, dear reader – this one's a bit of a stretch for conservation relevance at first glance, but it is important. Also, it's one of my own papers so I have the prerogative :-)
As some of you probably know, I dabble quite a bit in population dynamics theory, which basically means examining the mathematics people use to decipher ecological patterns. Why is this important? Well, most models predicting extinction risk, estimating optimal harvest rates, determining minimum viable population size and metapopulation dynamics for species' persistence rely on good mathematical abstraction to be realistic. Get the maths wrong, and you could end up overharvesting a species (e.g., 99.99 % of fisheries management), underestimating extinction risk from habitat degradation, and getting your predictions wrong about the effects of invasive species. Expressed as an equation itself, (conservation) ecology = mathematics.
A long-standing family of models known as 'phenomenological' models (i.e., because they deal with the phenomenon of population size which is an emergent property of the mechanisms of birth, death and immigration) has been used to estimate everything from maximum sustainable yield targets, temporal abundance patterns, wildlife management interventions, extinction risk to epidemiological patterns. The basic form of the model describes the growth response, or the relationship between the population's rate of change (growth) and its size. The simplest form (known as the Ricker), assumes a linear decline in population growth rate (r) as the number of individuals increases, which basically means that populations can't grow indefinitely (i.e., they fluctuate around some carrying capacity if unperturbed). Read the rest of this entry »
Tags: biodiversity, conservation, mathematics, Richard Sibly, science
Categories : alien species, conservation, demography, exploitation, extinction, fisheries, harvest, invasive species, management, metapopulation, minimum viable population, modelling, mvp, population dynamics, population viability analysis, PVA
The science of ... saving life
CJAB
I am the Matthew Flinders Professor of Global Ecology at Flinders University.
Follow ConservationBytes.com on WordPress.com
CARTOON OF THE WEEK
Killing (feral) cats quickly (and efficiently)
Hot inbreeding
Software tools for conservation biologists
How to write a scientific paper
Tenure-Track Professorship in Conservation and Development
Twenty tips for writing a research proposal
We're sorry, but 50/500 is still too few
Best and worst countries by different environmental indicators
Earth's second lung has emphysema
Why a shrinking human population is a good thing
Archives Select Month Jan 2023 (3) Dec 2022 (1) Sep 2022 (2) Aug 2022 (3) Jul 2022 (3) Jun 2022 (3) May 2022 (3) Apr 2022 (4) Mar 2022 (5) Feb 2022 (3) Jan 2022 (4) Dec 2021 (5) Nov 2021 (4) Oct 2021 (4) Sep 2021 (4) Aug 2021 (4) Jul 2021 (4) Jun 2021 (4) May 2021 (4) Apr 2021 (5) Mar 2021 (4) Feb 2021 (3) Jan 2021 (4) Dec 2020 (4) Nov 2020 (4) Oct 2020 (3) Sep 2020 (4) Aug 2020 (4) Jul 2020 (4) Jun 2020 (4) May 2020 (4) Apr 2020 (4) Mar 2020 (4) Feb 2020 (3) Jan 2020 (3) Dec 2019 (4) Nov 2019 (4) Oct 2019 (4) Sep 2019 (4) Aug 2019 (3) Jul 2019 (4) Jun 2019 (4) May 2019 (2) Apr 2019 (5) Mar 2019 (4) Feb 2019 (4) Jan 2019 (3) Dec 2018 (3) Nov 2018 (5) Oct 2018 (4) Sep 2018 (4) Aug 2018 (4) Jul 2018 (4) Jun 2018 (2) May 2018 (5) Apr 2018 (4) Mar 2018 (4) Feb 2018 (4) Jan 2018 (4) Dec 2017 (5) Nov 2017 (4) Oct 2017 (4) Sep 2017 (4) Aug 2017 (3) Jul 2017 (4) Jun 2017 (4) May 2017 (4) Apr 2017 (5) Mar 2017 (6) Feb 2017 (4) Jan 2017 (5) Dec 2016 (5) Nov 2016 (4) Oct 2016 (4) Sep 2016 (4) Aug 2016 (4) Jul 2016 (4) Jun 2016 (4) May 2016 (4) Apr 2016 (4) Mar 2016 (5) Feb 2016 (5) Jan 2016 (4) Dec 2015 (3) Nov 2015 (4) Oct 2015 (5) Sep 2015 (4) Aug 2015 (5) Jul 2015 (4) Jun 2015 (4) May 2015 (4) Apr 2015 (6) Mar 2015 (4) Feb 2015 (4) Jan 2015 (5) Dec 2014 (6) Nov 2014 (6) Oct 2014 (4) Sep 2014 (7) Aug 2014 (4) Jul 2014 (7) Jun 2014 (6) May 2014 (5) Apr 2014 (6) Mar 2014 (7) Feb 2014 (4) Jan 2014 (6) Dec 2013 (3) Nov 2013 (5) Oct 2013 (5) Sep 2013 (5) Aug 2013 (7) Jul 2013 (5) Jun 2013 (6) May 2013 (5) Apr 2013 (5) Mar 2013 (5) Feb 2013 (5) Jan 2013 (5) Dec 2012 (5) Nov 2012 (6) Oct 2012 (6) Sep 2012 (5) Aug 2012 (5) Jul 2012 (6) Jun 2012 (6) May 2012 (7) Apr 2012 (6) Mar 2012 (5) Feb 2012 (5) Jan 2012 (6) Dec 2011 (3) Nov 2011 (7) Oct 2011 (5) Sep 2011 (7) Aug 2011 (6) Jul 2011 (6) Jun 2011 (9) May 2011 (7) Apr 2011 (9) Mar 2011 (7) Feb 2011 (7) Jan 2011 (8) Dec 2010 (5) Nov 2010 (9) Oct 2010 (9) Sep 2010 (8) Aug 2010 (11) Jul 2010 (11) Jun 2010 (8) May 2010 (10) Apr 2010 (9) Mar 2010 (9) Feb 2010 (7) Jan 2010 (8) Dec 2009 (8) Nov 2009 (7) Oct 2009 (8) Sep 2009 (7) Aug 2009 (9) Jul 2009 (6) Jun 2009 (8) May 2009 (9) Apr 2009 (7) Mar 2009 (8) Feb 2009 (12) Jan 2009 (8) Dec 2008 (5) Nov 2008 (9) Oct 2008 (8) Sep 2008 (14) Aug 2008 (22) Jul 2008 (9)
The Faculty for Mathematics and Natural Sciences of Humboldt-Universität zu Berlin (HU Berlin), Geography Department, has an open position for a tenure-track professorship in Conservation and Development. Starting as soon as possible. This is a Junior Professorship (W1 level, 100%) with a tenure track to a permanent professorship (W2 level, 100%). To verify whether the…
by CJAB Thu, 26 Jan 2023
Interrupted flows in the Murray River endanger frogs
Flooding in the Murray-Darling Basin is creating ideal breeding conditions for many native species that have evolved to take advantage of temporary flood conditions. Led by PhD candidate Rupert Mathwin, our team developed virtual models of the Murray River to reveal a crucial link between natural flooding and the extinction risk of endangered southern bell…
by CJAB Tue, 17 Jan 2023
Influential conservation papers of 2022
Following my annual tradition, I present the retrospective list of the 'top' 20 influential papers of 2022 as assessed by experts in Faculty Opinions (formerly known as F1000). These are in no particular order. See previous years' lists here: 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2014, and 2013. Genetic variance in fitness indicates rapid contemporary adaptive evolution in wild animals — "… this…
by CJAB Tue, 3 Jan 2023
Alliance of Leading Environmental Researchers and Thinkers (ALERT)
Bright New World
Centre for the Advancement of the Steady State Economy
Conservation Journal
Foundation Earth
Global Population Speak Out
Hot Topics in Ecology
Millennium Assessment of Human Behaviour
The Nature Conservancy Australia
WildLeaks
Anthropocene Magazine
Conservation Evidence
Current Conservation
I Fucking Love Biodiversity
Intergovernmental Platform on Biodiversity and Ecosystem Services (IPBES)
United Nations' Environment Programme World Conservation Monitoring Centre
Wildlife Conservation Society
Xerces Society for Invertebrate Conservation
Biodiversity Investment
Ecosystem Marketplace
Agricultural Biodiversity Weblog
Biodiversity Dynamics
Conservation Planning
Cool Green Science
Decarbonise South Australia
Dynamic Ecology
Methods in Ecology & Evolution
The EEB & Flow
ENGOs
Australian Wildlife Conservancy
Banksia Foundation
BirdLife Australia
Bush Heritage Australia
Conservation International
Wilderness Society
World Wide Fund for Nature
Wild Forests
Conservation Careers
Conservation Job Board
Linkedin Jobs
Learned Societies
Australian Academy of Science
Ecological Society of America
Ecological Society of Australia
Society for Ecological Restoration International
Australian Science Media Centre
I Fucking Love Science
Royal Institution of Australia


restaurant for a leisurely second breakfast. In 1885, "the French Market breakfast"
home praising its notable cuisine.
Today in 1961, arguments were heard in federal court in New Orleans on Hart v. St.
first years of his administration to "insure that no violence occurred."
as prizes for the best essays about farm and household mechanics.
enrollment in the summer and fall of 1918, more than 22,000 men.
River, which the Marine Corps adapted as a landing craft for infantrymen in 1939.
Higgins also designed torpedo boats and patrol boats used during World War II.
Opening was held in April, 2011.
John H. Ferguson from holding a trial. The state supreme court, and later the U. S.
precedent for the next sixty years.
the Levee, stares vacantly about and sighs for his return."
rural school fund and other organizations.
bands, including Mariah Carey, 'N Sync, Whitney Houston, Céline Dion and Madonna.
running show wrapped in 2014.
under a white flag asked for permission to bury Hart in the cemetery of Grace Church.
Permission was granted, and Hart was buried in the cemetery with honors.
of Riva Ridge and Secretariat. Nordoff aside, Nordlicht's stud career was not stellar.
He was buried at La Branche Plantation in St. Charles Parish.
voters in 1909, and Eunice, smarting over not being selected, elected to remain in St.


Atm I'm running julianos set with willpower. No monster helm or shoulder piece. I'd like to use engine gaurdian with kagrenacs hope, maybe mix in some torugs pact. Version 1.0, I'll update soon when i have the correct equipment.
So bar 1 is the hard hitting dps, you'll want to curse first thing, next spam entropy along with endless to proc your frags. It's very high damage, but since I'm using light armor, I'm squishy. This is where bat two comes into play with hardened ward and healing springs.


Including multiple, multi-faceted female characters in a film isn't just good for social, political, or even artistic reasons. In 2013, it was good for the film's bottom line, too.
In an analysis of the top 50 films of the year, one site found that films that passed the Bechdel test for female representation collectively made more than films that didn't. And we're not talking a few bucks more — by their count, those in the former category raked in $1.5 billion more at the U.S. box office. Hit the jump for a colorful infographic showing how the numbers shake out.
Voactiv (via The Mary Sue) compiled the data. The titles and figures come from IMDb's list of the top 50 highest-grossing films of 2013. For those that need a quick refresher, a film passes the Bechdel test if it 1) has two or more female characters, 2) who talk to each other, 3) about something other than a man.
In total, the site found that 24 of the top 50 films passed the Bechdel test, and 21 failed. Two (Jackass Presents: Bad Grandpa and The Best Man Holiday) weren't included in the data at all, for unspecified reasons, and one (Gravity) was not sorted into either category. Even if those three had been added to the mix, however, their numbers wouldn't be big enough to tip the scale in the other direction.
As a tool for measuring how female-friendly a specific film is, the Bechdel test is far from perfect. The reason Gravity was not counted, for example, was because it's a strongly female-centric film that nevertheless fails because the only other (much less central) character is male. As a way to assess general trends, however, the Bechdel test is more useful. And in this case, it shows that incorporating female characters pays off, in a very literal sense.
In an ideal world, the takeaway from this would be that far from alienating audiences, interesting female characters tend to draw them in. Considering how stubborn Hollywood is, though — and how shocked the industry seems any time a Bridesmaids or a Hunger Games makes actual money — I'm not counting on any big changes any time soon.


text:
/**
 * pullLoad module
 *
 * Created by LiuSong on 2017/4/25.
 */

define("pullLoad2", ["plugins/iscroll/iscroll-probe"], function (IScroll) {
    var utils = (function () {
        var me = {
            defaults: {
                pullDownAction: false,
                pullDownLock: false,
                pullDownTexts: ['下拉刷新', '松开刷新', '刷新中…'],
                pullUpAction: false,
                pullUpLock: false,
                pullUpTexts: ['上拉加载更多', '松开加载', '加载中…']
            }
        };

        me.extend = function (target, obj) {
            for ( var i in obj ) {
                target[i] = obj[i];
            }
        };

        me.createElement = function (t, c, h) {
            var o = document.createElement(t);
            if (typeof c === "string") {
                o.className = c;
            }
            if (Object.prototype.toString.call(h) === "[object Array]") {
                for (var i in h){
                    o.appendChild(h[i]);
                }
            } else if (typeof h === "object") {
                o.appendChild(h);
            } else if (typeof h === "string") {
                o.innerHTML = h;
            }

            return o;
        };

        me.hasClass = function (e, c) {
            var re = new RegExp("(^|\\s)" + c + "(\\s|$)");
            return re.test(e.className);
        };

        me.addClass = function (e, c) {
            if ( me.hasClass(e, c) ) {
                return;
            }

            var newclass = e.className.split(' ');
            newclass.push(c);
            e.className = newclass.join(' ');
        };

        me.removeClass = function (e, c) {
            if ( !me.hasClass(e, c) ) {
                return;
            }

            var re = new RegExp("(^|\\s)" + c + "(\\s|$)", 'g');
            e.className = e.className.replace(re, ' ');
        };

        me.trim = function (s) {
            return s.replace(/^\s|\s$/g, "");
        };

        me.getDomHeight = function (e) {
            var c = e.cloneNode(true);
            c.style.display = "block";
            c.style.position = "absolute";
            c.style.top = "-10000px";
            e.parentNode.appendChild(c);

            var h = c.getBoundingClientRect().height;
            e.parentNode.removeChild(c);

            return h;
        };

        return me;
    })();

    //新增锁定下拉方法
    IScroll.prototype.lockPullDown = function (lock) {
        var p = this.pull;
        if (p.down.element && p.down.lock == !lock) {
            p.down.lock = !!lock;
            if (p.down.lock) {
                p.down.element.style.display = "none";
                this.y = 0;
                this.options.startY = 0;
                p.maxScrollY = this.maxScrollY = this.maxScrollY + p.down.offset;
            } else {
                p.down.element.style.display = "block";
                this.y = -p.down.offset;
                this.options.startY = -p.down.offset;
                p.maxScrollY = this.maxScrollY = this.maxScrollY - p.down.offset;
            }
            this.refresh();
            this.scrollTo(0, this.options.startY, 300);
        }
    };
    //新增锁定上拉方法
    IScroll.prototype.lockPullUp = function (lock) {
        var p = this.pull;
        if (p.up.element && p.up.lock == !lock) {
            p.up.lock = !!lock;
            if (p.up.lock) {
                p.up.element.style.display = "none";
                p.maxScrollY = this.maxScrollY = this.maxScrollY + p.up.offset;
            } else {
                p.up.element.style.display = "block";
                p.maxScrollY = this.maxScrollY = this.maxScrollY - p.up.offset;
            }
            this.refresh();
        }
    };

    return function (e, o) {
        var _IScroll,
            options = {
                click: true,
                taps: true,
                mouseWheel: true,
                scrollbars: true,
                fadeScrollbars: true,
                probeType: 1,
                startY: 0
            },
            pull = {
                maxScrollY: 0,
                down: {},
                up: {},
                isScrolling: false,
                isLoading: false,
                flip: "pull-flip",
                loading: "pull-loading"
            },
            param = {};

        pull.wrapper = document.querySelector(e);
        if (pull.wrapper === null) {
            console.error("Not found pull element!!");
            return null;
        }
        if (utils.hasClass(pull.wrapper, "IScroll")) {
            console.error("Element has been initialized!!");
            return null;
        }

        utils.extend(param, utils.defaults);
        utils.extend(param, o);

        pull.scroller = pull.wrapper.children[0];
        pull.body = pull.scroller.children[0];
        //pull.body.style.minHeight = pull.wrapper.offsetHeight + "px";
        pull.body.style.minHeight = Math.ceil(pull.wrapper.getBoundingClientRect().height) + "px";
        pull.down.action = param.pullDownAction;
        pull.down.lock = param.pullDownLock;
        pull.down.texts = param.pullDownTexts;
        pull.down.element = utils.createElement("div", "pull-down", [pull.down.icon = utils.createElement("i", "pull-icon"), pull.down.label = utils.createElement("span", "pull-label", pull.down.texts[0])]);
        pull.scroller.insertBefore(pull.down.element, pull.body);
        pull.down.offset = utils.getDomHeight(pull.down.element);
        if (pull.down.lock) {
            options.startY = 0;
            pull.down.element.style.display = "none";
        } else {
            options.startY = -pull.down.offset;
            pull.down.element.style.display = "block";
        }
        pull.up.action = param.pullUpAction;
        pull.up.lock = param.pullUpLock;
        pull.up.texts = param.pullUpTexts;
        pull.up.element = utils.createElement("div", "pull-up", [pull.up.icon = utils.createElement("i", "pull-icon"), pull.up.label = utils.createElement("span", "pull-label", pull.up.texts[0])]);
        pull.scroller.appendChild(pull.up.element);
        pull.up.offset = utils.getDomHeight(pull.up.element);
        pull.up.element.style.display = pull.up.lock ? "none" : "block";

        //Build
        _IScroll = new IScroll(e, options);

        if (_IScroll) {
            utils.addClass(pull.wrapper, "IScroll");
        }

        if (pull.up.lock) {
            pull.maxScrollY = _IScroll.maxScrollY;
        } else {
            pull.maxScrollY = _IScroll.maxScrollY = _IScroll.maxScrollY + pull.up.offset;
        }
        _IScroll.pull = pull;

        //Event: scrollStart
        _IScroll.on("scrollStart", function () {
            var p = this.pull;
            if (this.y == this.startY) {
                p.isScrolling = true;
            }
        });

        //Event: scroll
        _IScroll.on('scroll', function () {
            var p = this.pull;
            if (p.isLoading) {
                return;
            }

            if (p.down.element && !p.down.lock) {
                if (this.y >= 5 && !utils.hasClass(p.down.element, p.flip)) {
                    utils.addClass(p.down.element, p.flip);
                    p.down.label.innerHTML = p.down.texts[1];
                } else if (this.y < 5 && utils.hasClass(p.down.element, p.flip)) {
                    utils.removeClass(p.down.element, p.flip);
                    p.down.label.innerHTML = p.down.texts[0];
                }
            }
            if (p.up.element && !p.up.lock) {
                if (this.y <= (p.maxScrollY - p.up.offset) && !utils.hasClass(p.up.element, p.flip)) {
                    utils.addClass(p.up.element, p.flip);
                    p.up.label.innerHTML = p.up.texts[1];
                    this.maxScrollY = this.maxScrollY - p.up.offset;
                } else if (this.y > (p.maxScrollY - p.up.offset) && utils.hasClass(p.up.element, p.flip)) {
                    utils.removeClass(p.up.element, p.flip);
                    p.up.label.innerHTML = p.up.texts[0];
                    this.maxScrollY = this.maxScrollY + p.up.offset;
                }
            }
            //console.log(_IScroll.maxScrollY);
        });

        //Event: scrollEnd
        _IScroll.on("scrollEnd", function () {
            var p = this.pull;
            if (p.isLoading) {
                return;
            }

            if (p.down.element && !p.down.lock) {
                if (!utils.hasClass(p.down.element, p.flip) && this.y > this.options.startY) {
                    //console.log('resume');
                    this.scrollTo(0, this.options.startY, 800);
                } else if (utils.hasClass(p.down.element, p.flip)) {
                    utils.removeClass(p.down.element, p.flip);
                    utils.addClass(p.down.element, p.loading);
                    p.down.label.innerHTML = p.down.texts[2];
                    // Execute custom function (ajax call?)
                    if (p.isScrolling) {
                        p.isLoading = true;
                        if (p.down.action) {
                            p.down.action();
                        } else {
                            this.refresh();
                        }
                    }
                }
            }
            if (p.up.element && !p.up.lock) {
                if (utils.hasClass(p.up.element, p.flip)) {
                    utils.removeClass(p.up.element, p.flip);
                    utils.addClass(p.up.element, p.loading);
                    p.up.label.innerHTML = p.up.texts[2];
                    // Execute custom function (ajax call?)
                    if (p.isScrolling) {
                        p.isLoading = true;
                        if (p.up.action) {
                            p.up.action();
                        } else {
                            this.refresh();
                        }
                    }
                }
            }

            p.isScrolling = false;
        });

        //Event: refresh
        _IScroll.on("refresh", function () {
            var p = this.pull;

            if (p.up.lock) {
                p.maxScrollY = this.maxScrollY;
            } else {
                p.maxScrollY = this.maxScrollY = this.maxScrollY + p.up.offset;
            }

            if (p.down.element && utils.hasClass(p.down.element, p.loading)) {
                utils.removeClass(p.down.element, p.loading);
                p.down.label.innerHTML = p.down.texts[0];
                this.scrollTo(0, this.options.startY, 0);
            } else if (p.up.element && utils.hasClass(p.up.element, p.loading)) {
                utils.removeClass(p.up.element, p.loading);
                p.up.label.innerHTML = p.up.texts[0];
                //this.scrollTo(0, this.maxScrollY, 0);
                this.scrollTo(0, this.y - this.wrapperHeight + p.up.offset, 0);
            }

            //p.body.style.minHeight = p.wrapper.offsetHeight + "px";
            p.body.style.minHeight = Math.ceil(p.wrapper.getBoundingClientRect().height) + "px";

            p.isLoading = false;
        });

        return _IScroll;
    };
});

redpajama_set_name: RedPajamaGithub


Kirsty Ward's aesthetic is all about the celebration of bold cuts, defined structures and powerful embellishment. She is applauded for blurring the boundaries between jewellery and clothing.
"I like to make pieces that the wearer will love, with thought going into every last detail. I also love to mix jewellery with clothing - blurring the line where one stops and the other starts."


text:
Cloud over inner-city seats shocks Greens
They were touted as possible kingmakers but the Greens have emerged from Victoria's election facing the prospect of a weaker presence in parliament.
Leader Samantha Ratnam had been eyeing a balance-of-power in both houses of Spring Street, but a resounding result for Labor means they will govern in majority.
The minor party's hopes of unseating Labor incumbent and minister Richard Wynne in the seat of Richmond was unsuccessful.
ABC election analyst Antony Green also tipped the Greens to lose the seat of Northcote, which it has only held for a year after winning a by-election.
The Greens were on track to hold the seat of Melbourne, he added.
Ms Ratnam congratulated Mr Andrews.
"It is fantastic to see so many of the issues that have been championed by the Greens adopted by the Andrews government in this campaign and embraced by Victorians," she said.
'I am shaking': Three winners claim record-breaking $110m Powerball jackpot
Wharfie jobs slashed in Victoria and NSW
Climate and poverty key for PM Ardern
At a post-election function in Melbourne there were tears as reality hit, although Ms Ratnam said it was too close to call the seats of Prahran and Brunswick.
Both she and Australian Greens leader Richard Di Natale welcomed voters' rejection of the Liberal-Nationals tough-on-crime agenda.
"What we have seen is Victorians comprehensively reject a really awful campaign based on law and order, trying to divide the Australian community," the senator said.
It was a tough campaign for the Greens, who battled a number of scandals and criticism from the major parties.
Footscray candidate Angus McAlpine came under fire for misogynistic rap lyrics and sexual assault allegations were levelled against Sandringham candidate Dominic Phillips.
"The Greens are proud of the positive campaign we have run in the face of enormous pressure and mudslinging," Ms Ratnam said.
Mr Andrews had repeatedly rejected her calls to consider joining forces for a power-sharing arrangement in minority government.
As the Greens were swamped by repeated controversy, the premier slammed the minor party's culture.
Ms Ratnam holds high hopes for the Greens in the upper house, where results might not be known for several days.


You can now sign up to Gift Aid when you donate your unwanted items at the warehouse or any of our shops.
If you are donating larger items, we can sign you up when our drivers collect your donations.
By signing up to Gift Aid we are able to claim an extra 25% of the sale value of your goods from the Government. For example, if we sell your item for £10 we can claim an extra £2.50.
Anyone can sign up as long as you have paid sufficient income tax or capital gains tax in the relevant tax year to cover the tax we claim.
All you need to do is provide your name, address, confirmation that you are a tax payer (we don't need to know your financial details) and your signature. We do everything else!
If you make further donations at any time in the future please give us your name and postcode when you drop your donations off so that we can process the Gift Aid on your donations.
Periodically, we will write to you to let you know how much extra your donations have generated. As long as you still want to donate that money to us we will claim it automatically.
Thank you to everyone in the community for your support.


text:
Adam Gambill and Parton Lumber Company
February 18, 2015 April 7, 2015 / absolutelyalleghany
Wood touches us at a near primal place in our beings. Wood delivers warming fires on cold mountain days and furnishes shelter from the elements. In enumerable ways, wood sustains us.
Driving into Sparta on Hwy. 21 South it is hard not to notice the log yard. The neatly stacked rows of logs stretch from near the roadway some 150 yards toward the treeline. Even an untrained eye can detect that the logs are sorted by species.
The Rutherford County based Parton Lumber Company operates four satellite log yards across the region. The Parton mill is 125 miles southwest of Sparta. That is a 250 mile round trip for a logger. The satellite yard saves fuel cost for a small business operating on a shoestring budget. Loggers get paid when they deliver product and shortening the delivery time puts money in their pockets.
For almost a year, Alleghany County native Adam Gambill has staffed the Sparta log yard. A former football player and wrestler at Alleghany High School, Adam left Sparta in 2012 to attend Haywood Community College (HCC). A fourth generation Alleghany farmer, his desire was to find employment that put him outside and in the woods. HCC's forestry program fit the bill and after his graduation there in 2014, he went to work with Parton's.
When the log trucks enter the yard, Adams uses a loader to unload the trucks. He lays them out individually, and then measures and grades each log. The measurements give the total number of board feet in each log. Grading involves assessing a combination of size and quality (the presence or absence of knots or splits). The assessed grade then determines the price per board foot. From there it is simple math. The logger is paid based on the quality and amount of the load. It is an exacting and sometimes subjective job that requires a person who is trusted by both the company and the logger.
The logs are then stacked according to species. The mill can saw approximately 1 million board feet of lumber per week. Logs in Sparta are delivered based on customer orders. Many of the logs in Sparta will find their way into the furniture and cabinet industry.
By his own reckoning, too much of Adam's time has been spent in the office or on a loader. He is leaving Parton's to become a timber cruiser. His days will now be spent walking the hills measuring trees, making those same calculations he made on the log yard, while the tress are still standing – exactly what he had in mind when he enrolled at Haywood Community College.
Adam Gambill and Jeff Eller
Adam is being replaced by Caldwell County resident Jeff Eller. Jeff has been in the forestry business in a variety of capacities for several years.
The forest sector contributes over $9 billion to North Carolina's gross domestic product. In 2012, North Carolina landowners received $391.5 million in revenue from trees. In Alleghany County, the forest industry's economic impact in 2012 was $14.7 million.
Yet, forest products tends to be a polarizing industry. Critics voice a multitude of concerns – soil erosion, stream siltation, eyesore clearcuts to name a few. But modern forest management traces its roots back to men like Yale educated Gifford Pinchot, the first chief of the U.S Forest Service (1905-1910). Pinchot studied forest management in France and honed his skills on the Vanderbilt's Biltmore Forest Estate in western North Carolina. Pinchot and President Theodore Roosevelt are credited with the modern conservation movement. Alarmed at unregulated overharvesting, their core premise was that forest and wildlife resources should be managed in a way that sustains them for future generations. Successional forest practices not only benefit the health of the forest, but contributes to the diversity of wildlife species many of which are dependent on successional habitat.
So, how do we ensure that a proper balance is struck between economic vitality and the wise management of a valued resource? We entrust the stewardship of these resources to people like Adam Gambill. Greed cannot replace four generations of connection to the land. With the skills he possesses, Adam could work anywhere in the United States. He chose to come home and apply those skills in Alleghany County.
Suggested Reading: The Big Burn by Timothy Egan
Haywoord Community College Forest Management, logging in Alleghany County nc, North Carolina Forest Products Industry, Parton Lumber Company, successional forest practices
← Charlie Scott and Alleghany Community Television
Aaron Ray Tompkins and the NC Blue Ridge Farm School →


Jump to the front of the line! Our quick-ship patterned outdoor rugs are shipped the very next business day after you order and should arrive within three to five business days. Best of all, shipping is free! These rugs will bring elegance and style to any outdoor space. Even though they look at feel like natural fibers, they're made of 100% polypropylene so they won't fade, mold or mildew. They're easy to maintain, too. Simply wash with water and let dry.
Need a custom size or different border? Create your dream Patterned Outdoor rug HERE.


text:
#include "tensorflow/lite/micro/micro_interpreter.h"

#include <cstdarg>
#include <cstddef>
#include <cstdint>

#include "flatbuffers/flatbuffers.h"  // from @flatbuffers
#include "tensorflow/lite/c/common.h"
#include "tensorflow/lite/core/api/error_reporter.h"
#include "tensorflow/lite/core/api/tensor_utils.h"
#include "tensorflow/lite/micro/memory_helpers.h"
#include "tensorflow/lite/micro/micro_allocator.h"
#include "tensorflow/lite/micro/micro_error_reporter.h"
#include "tensorflow/lite/micro/micro_op_resolver.h"
#include "tensorflow/lite/micro/micro_profiler.h"
#include "tensorflow/lite/schema/schema_generated.h"

namespace tflite {
namespace {

#ifndef TF_LITE_STRIP_ERROR_STRINGS
const char* OpNameFromRegistration(const TfLiteRegistration* registration) {
  if (registration->builtin_code == BuiltinOperator_CUSTOM) {
    return registration->custom_name;
  } else {
    return EnumNameBuiltinOperator(BuiltinOperator(registration->builtin_code));
  }
}
#endif  // !defined(TF_LITE_STRIP_ERROR_STRINGS)

}  // namespace

namespace internal {

ContextHelper::ContextHelper(ErrorReporter* error_reporter,
                             MicroAllocator* allocator, const Model* model)
    : allocator_(allocator), error_reporter_(error_reporter), model_(model) {}

void* ContextHelper::AllocatePersistentBuffer(TfLiteContext* ctx,
                                              size_t bytes) {
  return reinterpret_cast<ContextHelper*>(ctx->impl_)
      ->allocator_->AllocatePersistentBuffer(bytes);
}

TfLiteStatus ContextHelper::RequestScratchBufferInArena(TfLiteContext* ctx,
                                                        size_t bytes,
                                                        int* buffer_idx) {
  ContextHelper* helper = reinterpret_cast<ContextHelper*>(ctx->impl_);
  return helper->allocator_->RequestScratchBufferInArena(bytes, buffer_idx);
}

void* ContextHelper::GetScratchBuffer(TfLiteContext* ctx, int buffer_idx) {
  ContextHelper* helper = reinterpret_cast<ContextHelper*>(ctx->impl_);
  ScratchBufferHandle* handle = helper->scratch_buffer_handles_ + buffer_idx;
  return handle->data;
}

void ContextHelper::ReportOpError(struct TfLiteContext* context,
                                  const char* format, ...) {
#ifndef TF_LITE_STRIP_ERROR_STRINGS
  ContextHelper* helper = static_cast<ContextHelper*>(context->impl_);
  va_list args;
  va_start(args, format);
  TF_LITE_REPORT_ERROR(helper->error_reporter_, format, args);
  va_end(args);
#endif
}

TfLiteTensor* ContextHelper::GetTensor(const struct TfLiteContext* context,
                                       int tensor_idx) {
  ContextHelper* helper = static_cast<ContextHelper*>(context->impl_);
  return helper->allocator_->AllocateTempTfLiteTensor(
      helper->model_, helper->eval_tensors_, tensor_idx);
}

TfLiteEvalTensor* ContextHelper::GetEvalTensor(
    const struct TfLiteContext* context, int tensor_idx) {
  ContextHelper* helper = reinterpret_cast<ContextHelper*>(context->impl_);
  return &helper->eval_tensors_[tensor_idx];
}

void ContextHelper::SetTfLiteEvalTensors(TfLiteEvalTensor* eval_tensors) {
  eval_tensors_ = eval_tensors;
}

void ContextHelper::SetScratchBufferHandles(
    ScratchBufferHandle* scratch_buffer_handles) {
  scratch_buffer_handles_ = scratch_buffer_handles;
}

}  // namespace internal

MicroInterpreter::MicroInterpreter(const Model* model,
                                   const MicroOpResolver& op_resolver,
                                   uint8_t* tensor_arena,
                                   size_t tensor_arena_size,
                                   ErrorReporter* error_reporter,
                                   MicroProfiler* profiler)
    : model_(model),
      op_resolver_(op_resolver),
      error_reporter_(error_reporter),
      allocator_(*MicroAllocator::Create(tensor_arena, tensor_arena_size,
                                         error_reporter)),
      tensors_allocated_(false),
      initialization_status_(kTfLiteError),
      eval_tensors_(nullptr),
      context_helper_(error_reporter_, &allocator_, model),
      input_tensors_(nullptr),
      output_tensors_(nullptr) {
  Init(profiler);
}

MicroInterpreter::MicroInterpreter(const Model* model,
                                   const MicroOpResolver& op_resolver,
                                   MicroAllocator* allocator,
                                   ErrorReporter* error_reporter,
                                   MicroProfiler* profiler)
    : model_(model),
      op_resolver_(op_resolver),
      error_reporter_(error_reporter),
      allocator_(*allocator),
      tensors_allocated_(false),
      initialization_status_(kTfLiteError),
      eval_tensors_(nullptr),
      context_helper_(error_reporter_, &allocator_, model),
      input_tensors_(nullptr),
      output_tensors_(nullptr) {
  Init(profiler);
}

MicroInterpreter::~MicroInterpreter() {
  if (node_and_registrations_ != nullptr) {
    for (size_t i = 0; i < subgraph_->operators()->size(); ++i) {
      TfLiteNode* node = &(node_and_registrations_[i].node);
      const TfLiteRegistration* registration =
          node_and_registrations_[i].registration;
      // registration is allocated outside the interpreter, so double check to
      // make sure it's not nullptr;
      if (registration != nullptr && registration->free != nullptr) {
        registration->free(&context_, node->user_data);
      }
    }
  }
}

void MicroInterpreter::Init(MicroProfiler* profiler) {
  const flatbuffers::Vector<flatbuffers::Offset<SubGraph>>* subgraphs =
      model_->subgraphs();
  if (subgraphs->size() != 1) {
    TF_LITE_REPORT_ERROR(error_reporter_,
                         "Only 1 subgraph is currently supported.\n");
    initialization_status_ = kTfLiteError;
    return;
  }
  subgraph_ = (*subgraphs)[0];

  context_.impl_ = static_cast<void*>(&context_helper_);
  context_.ReportError = context_helper_.ReportOpError;
  context_.GetTensor = context_helper_.GetTensor;
  context_.GetEvalTensor = context_helper_.GetEvalTensor;
  context_.recommended_num_threads = 1;
  context_.profiler = profiler;

  initialization_status_ = kTfLiteOk;
}

TfLiteStatus MicroInterpreter::AllocateTensors() {
  if (allocator_.StartModelAllocation(model_, op_resolver_,
                                      &node_and_registrations_,
                                      &eval_tensors_) != kTfLiteOk) {
    TF_LITE_REPORT_ERROR(error_reporter_,
                         "Failed starting model allocation.\n");
    initialization_status_ = kTfLiteError;
    return kTfLiteError;
  }

  // Update the pointer now that TfLiteEvalTensor allocation has completed on
  // the context helper.
  // TODO(b/16157777): This call would not be needed if ContextHelper rolled
  // into the interpreter.
  context_helper_.SetTfLiteEvalTensors(eval_tensors_);
  context_.tensors_size = subgraph_->tensors()->size();

  // Only allow AllocatePersistentBuffer in Init stage.
  context_.AllocatePersistentBuffer = context_helper_.AllocatePersistentBuffer;
  context_.RequestScratchBufferInArena = nullptr;
  context_.GetScratchBuffer = nullptr;

  for (size_t i = 0; i < subgraph_->operators()->size(); ++i) {
    auto* node = &(node_and_registrations_[i].node);
    auto* registration = node_and_registrations_[i].registration;
    size_t init_data_size;
    const char* init_data;
    if (registration->builtin_code == BuiltinOperator_CUSTOM) {
      init_data = reinterpret_cast<const char*>(node->custom_initial_data);
      init_data_size = node->custom_initial_data_size;
    } else {
      init_data = reinterpret_cast<const char*>(node->builtin_data);
      init_data_size = 0;
    }
    if (registration->init) {
      node->user_data =
          registration->init(&context_, init_data, init_data_size);
    }
  }

  // Both AllocatePersistentBuffer and RequestScratchBufferInArena is
  // available in Prepare stage.
  context_.RequestScratchBufferInArena =
      context_helper_.RequestScratchBufferInArena;
  for (size_t i = 0; i < subgraph_->operators()->size(); ++i) {
    auto* node = &(node_and_registrations_[i].node);
    auto* registration = node_and_registrations_[i].registration;
    if (registration->prepare) {
      TfLiteStatus prepare_status = registration->prepare(&context_, node);
      if (prepare_status != kTfLiteOk) {
        TF_LITE_REPORT_ERROR(
            error_reporter_,
            "Node %s (number %df) failed to prepare with status %d",
            OpNameFromRegistration(registration), i, prepare_status);
        return kTfLiteError;
      }
    }
    allocator_.FinishPrepareNodeAllocations(/*node_id=*/i);
  }

  // Prepare is done, we're ready for Invoke. Memory allocation is no longer
  // allowed. Kernels can only fetch scratch buffers via GetScratchBuffer.
  context_.AllocatePersistentBuffer = nullptr;
  context_.RequestScratchBufferInArena = nullptr;
  context_.GetScratchBuffer = context_helper_.GetScratchBuffer;

  TF_LITE_ENSURE_OK(&context_,
                    allocator_.FinishModelAllocation(model_, eval_tensors_,
                                                     &scratch_buffer_handles_));
  // TODO(b/16157777): Remove this when ContextHelper is rolled into this class.
  context_helper_.SetScratchBufferHandles(scratch_buffer_handles_);

  // TODO(b/162311891): Drop these allocations when the interpreter supports
  // handling buffers from TfLiteEvalTensor.
  input_tensors_ =
      reinterpret_cast<TfLiteTensor**>(allocator_.AllocatePersistentBuffer(
          sizeof(TfLiteTensor*) * inputs_size()));
  if (input_tensors_ == nullptr) {
    TF_LITE_REPORT_ERROR(
        error_reporter_,
        "Failed to allocate memory for context->input_tensors_, "
        "%d bytes required",
        sizeof(TfLiteTensor*) * inputs_size());
    return kTfLiteError;
  }

  for (size_t i = 0; i < inputs_size(); ++i) {
    input_tensors_[i] = allocator_.AllocatePersistentTfLiteTensor(
        model_, eval_tensors_, inputs().Get(i));
    if (input_tensors_[i] == nullptr) {
      TF_LITE_REPORT_ERROR(error_reporter_,
                           "Failed to initialize input tensor %d", i);
      return kTfLiteError;
    }
  }

  // TODO(b/162311891): Drop these allocations when the interpreter supports
  // handling buffers from TfLiteEvalTensor.
  output_tensors_ =
      reinterpret_cast<TfLiteTensor**>(allocator_.AllocatePersistentBuffer(
          sizeof(TfLiteTensor*) * outputs_size()));
  if (output_tensors_ == nullptr) {
    TF_LITE_REPORT_ERROR(
        error_reporter_,
        "Failed to allocate memory for context->output_tensors_, "
        "%d bytes required",
        sizeof(TfLiteTensor*) * outputs_size());
    return kTfLiteError;
  }

  for (size_t i = 0; i < outputs_size(); ++i) {
    output_tensors_[i] = allocator_.AllocatePersistentTfLiteTensor(
        model_, eval_tensors_, outputs().Get(i));
    if (output_tensors_[i] == nullptr) {
      TF_LITE_REPORT_ERROR(error_reporter_,
                           "Failed to initialize output tensor %d", i);
      return kTfLiteError;
    }
  }

  TF_LITE_ENSURE_STATUS(ResetVariableTensors());

  tensors_allocated_ = true;
  return kTfLiteOk;
}

TfLiteStatus MicroInterpreter::Invoke() {
  if (initialization_status_ != kTfLiteOk) {
    TF_LITE_REPORT_ERROR(error_reporter_,
                         "Invoke() called after initialization failed\n");
    return kTfLiteError;
  }

  // Ensure tensors are allocated before the interpreter is invoked to avoid
  // difficult to debug segfaults.
  if (!tensors_allocated_) {
    TF_LITE_ENSURE_OK(&context_, AllocateTensors());
  }

  for (size_t i = 0; i < subgraph_->operators()->size(); ++i) {
    auto* node = &(node_and_registrations_[i].node);
    auto* registration = node_and_registrations_[i].registration;

// This ifdef is needed (even though ScopedMicroProfiler itself is a no-op with
// -DTF_LITE_STRIP_ERROR_STRINGS) because the function OpNameFromRegistration is
// only defined for builds with the error strings.
#if !defined(TF_LITE_STRIP_ERROR_STRINGS)
    ScopedMicroProfiler scoped_profiler(
        OpNameFromRegistration(registration),
        reinterpret_cast<MicroProfiler*>(context_.profiler));
#endif

    TFLITE_DCHECK(registration->invoke);
    TfLiteStatus invoke_status = registration->invoke(&context_, node);

    // All TfLiteTensor structs used in the kernel are allocated from temp
    // memory in the allocator. This creates a chain of allocations in the
    // temp section. The call below resets the chain of allocations to
    // prepare for the next call.
    allocator_.ResetTempAllocations();

    if (invoke_status == kTfLiteError) {
      TF_LITE_REPORT_ERROR(
          error_reporter_,
          "Node %s (number %d) failed to invoke with status %d",
          OpNameFromRegistration(registration), i, invoke_status);
      return kTfLiteError;
    } else if (invoke_status != kTfLiteOk) {
      return invoke_status;
    }
  }

  return kTfLiteOk;
}

TfLiteTensor* MicroInterpreter::input(size_t index) {
  const size_t length = inputs_size();
  if (index >= length) {
    TF_LITE_REPORT_ERROR(error_reporter_,
                         "Input index %d out of range (length is %d)", index,
                         length);
    return nullptr;
  }
  return input_tensors_[index];
}

TfLiteTensor* MicroInterpreter::output(size_t index) {
  const size_t length = outputs_size();
  if (index >= length) {
    TF_LITE_REPORT_ERROR(error_reporter_,
                         "Output index %d out of range (length is %d)", index,
                         length);
    return nullptr;
  }
  return output_tensors_[index];
}

TfLiteTensor* MicroInterpreter::tensor(size_t index) {
  const size_t length = tensors_size();
  if (index >= length) {
    TF_LITE_REPORT_ERROR(error_reporter_,
                         "Tensor index %d out of range (length is %d)", index,
                         length);
    return nullptr;
  }
  return allocator_.AllocatePersistentTfLiteTensor(model_, eval_tensors_,
                                                   index);
}

TfLiteStatus MicroInterpreter::ResetVariableTensors() {
  for (size_t i = 0; i < subgraph_->tensors()->size(); ++i) {
    auto* tensor = subgraph_->tensors()->Get(i);
    if (tensor->is_variable()) {
      size_t buffer_size;
      TF_LITE_ENSURE_STATUS(
          TfLiteEvalTensorByteLength(&eval_tensors_[i], &buffer_size));

      int value = 0;
      if (tensor->type() == tflite::TensorType_INT8) {
        value = tensor->quantization()->zero_point()->Get(0);
      }
      memset(eval_tensors_[i].data.raw, value, buffer_size);
    }
  }

  return kTfLiteOk;
}

}  // namespace tflite


text:
Riquilda de Polonia (en húngaro: Richeza) (22 de septiembre de 1013-21 de mayo de 1075), Reina consorte de Hungría, esposa del rey Bela I de Hungría. Riquilda era descendiente de la familia real de los Piastas.

Biografía

Riquilda nació el 22 de septiembre de 1013, como hija del duque Miecislao II Lampert de Polonia y de la condesa Riquilda. La pareja real polaca tuvo varios hijos, entre ellos el posterior duque Casimiro I el Restaurador y una hija llamada Gertrud.

En 1032 su padre Miecislao II la entregó como esposa al príncipe húngaro Bela, hijo del noble Vazul. Bela había escapado del Reino de Hungría, ya que su padre Vazul, al no aceptar como heredero al trono a Pedro Orseolo de Hungría, había sido cegado y muerto. Bela, refugiado en el ducado de Polonia, probó su valentía en combates contra los pomeranios, defendiendo a Miecislao II, por lo cual recibió la mano de Riquilda. Bela y Riquilda tuvieron varios hijos, entre ellos: Géza en 1040, Ladislao en 1046 y a Lampert en 1049.

Cuando el hermano mayor de Bela, Andrés I de Hungría, recuperó el trono y ejecutó a Pedro Orseolo, Riquilda y su esposo regresaron al reino húngaro en 1046. Sin embargo, en los próximos años surgirán ciertos conflictos entre Andrés I y su hermano Bela, en los que el segundo siempre apeló a la protección de su suegro el Duque de Polonia. En 1060 Bela atacó a su hermano mayor Andrés I, y durante la  Batalla junto al río Tisza murió el rey húngaro, dejando el poder al protegido de los polacos. Bela fue coronado y reinó desde 1060 hasta 1063, con Riquilda a su lado. En 1063 el joven Salomón, hijo del fallecido Andrés I, entró al reino húngaro con el ejército germánico exigiendo el trono, y durante dicho conflicto Bela I murió defendiendo su trono.

Luego de ese trágico hecho, Riquilda abandonó la corte húngara y regresó a su hogar. Falleció el 21 de mayo de 1075.

Referencias

Bibliografía
Bertényi, I. , Diószegi, I. , Horváth, J. , Kalmár, J. y Szabó P. (2004). Királyok Könyve. Magyarország és Erdély királyai, királynői, fejedelmei és kormányzói. Budapest, Hungría: Helikon Kiadó.
Hóman, B. y Szekfű, Gy. (1935). Magyar Történet. Budapest, Hungría: Király Magyar Egyetemi Nyomda.

Reinas consortes de Hungría del siglo XI
Princesas de la dinastía de los Piastas
Reinas consortes de Hungria con los Árpad
Polacas del siglo XI

redpajama_set_name: RedPajamaWikipedia


P.O. 1028 - A stay at Away at the Bay is an opportunity to drink in the tranquility and beauty of the Eastern Shore at reasonable rates and in a prime location. Join the Wise Travelers who have Discovered Our Memorable Hideaway. Click web site below for details, photos and reservations.


text:
Gaming outshines other UK entertainment sectors in 2019
A report from the Entertainment Retailers Association has confirmed that in the first half of 2019, videogames generated far more income than any other sector of the UK's entertainment industry.
According to the report, in the first half of 2019, UK consumers spent £1.561 billion on videogames, which compares favourably to £1.070 billion spent on video and £673 million spent on music. The figure for videogames revenue represented a 1.0 per cent rise on the same period last year, and accounted for an impressive 47.2 per cent of the total entertainment retail market.
The ERA's CEO Kim Bayley said: "With January-June historically the quietest half of the year, this is another great result for entertainment. Digital services and physical retailers alike continue to innovate to expand the market for music, video, and games."
The ERA's report shone some interesting light on the revenue split between physical and digital sales of videogames. Of the overall £1.561 billion spend, physical videogames sales accounted for £184.9 million – down by 8.5 per cent on last year's figures – while digital revenues rose 2.4 per cent to £1.376 billion.
Stunningly, the report also revealed that Grand Theft Auto V was the best-selling game in the first half of 2019, clocking sales of 361,312 units in the UK, followed by FIFA 19 with 360,588 units and Tom Clancy's The Division 2 with 263,520 units. The latter is so far the best-selling game actually released in 2019, rather than the previous year, followed by Resident Evil 2 which shifted 239.495 units to occupy fifth place in the chart.
The report said: "Games remains by far the biggest sector accounting for nearly half of the combined music, video and games markets." And that was despite the fact that the videogames market is massively skewed towards the second half of each year, with the biggest blockbusting releases scheduled to take advantage of the Christmas sales rush.
For more information on how videogames dominate the UK's general entertainment retail sector, keep an eye on the ERA's website.
UK Games Industry
Previous articleTotal War Saga: Troy may be next Total War game
Next articleFormer id Software boss joins World War Z studio


text:
namespace Sogeti.Academy.Application.Presentations.Queries.GetDetail
{
    public class FileDetailViewModel
    {
        public string Id { get; set; }
        public string Name { get; set; }
        public string Type { get; set; }
        public long Size { get; set; }
    }
}


Title: Demonstrate your compassion and solidarity for Hurricane Katrina Artists for Life!
Plan of Action: ARTISTS FOR LIFE presents art/work: a Hurricane Katrina Memorial Celebration.
Purpose of Action: After nearly a year, many of the Hurricane Katrina survivors who were evacuated to New York still need housing, employment, and support services in order to re-construct their lives with dignity. Even while dealing with the trauma of "the storm" and while dealing with the personal upheaval of being displaced, many of the artists here have been contributing to and enriching the cultural landscape of NYC – doing shows, teaching youth workshops, and much more – often for free. Promises of support have been made, and more than you can imagine, many promises have been broken!
Through the non-profit organization Artists For Life, AKILA WORKSONGS, Inc. is doing what it does best: connecting arts and activism on practical terms. Since 1993, AKILA WORKSONGS has provided professional services to the arts community, produced socially relevant programs, and donated hundreds of hours of free services to independent artists. We have stood up for what's right in the world, and we do it through the arts!


With the increasing cases that reported Synchronization issues between Exchange Server and Mac Outlook 2011, the problem cannot be ignored. It arises when there is a communication issue between Outlook 2011 for Mac and Exchange Server 2007/2010. Due to this, some situations may arise like there can be delayed synchronization, emails may not be synced at all and interrupted email retrieval from Exchange Server to Mail etc. Microsoft provides no detailed information regarding the proper reason for the occurrence of Exchange Synchronization issues with Outlook. However, the article will be discussing about some workaround approaches to help users in resolving Outlook 2011 Mac not syncing Exchange Server issues.
One of the main reasons is high number of items present in Outlook profile. Reducing mailbox size will help in improving the performance and reducing downtime issues. The best approach is to maintain the folders item count below 5000 along with the items inside the sub folders. It can be done by moving the individual items according to dates within Outlook. Creation and Movement of email folders in Outlook can be done using web mail, as it provides an easy way for the same purpose.
Tip: The items can be sorted by numbering each folders arranged according to the mails exchanged in different month. Mails should not be moved in bulk and wait until the Outlook completes the process before moving the new mails.
Instead of creating sub folders inside inbox or sent items folder, custom folders should be created at same level as inbox. In Outlook 2011, create & name the folder and drag the items in it. It is because most of the time, Outlook only synchronizes the inbox and sent items folder while other folders are not much checked.
Users of Outlook Mac should not store the mails in 'On My Computer' section by manually dragging or copying mails in it. In case of data explosion, mails stored in this section could result to permanent loss of mails if recovery is not possible. To avoid this situation, we need to make sure that it is hidden by clicking on Outlook > Preferences > General Tab > check the option of Hide on My Computer folders.
Tip: When user needs to import mail from an archive, we need to uncheck the option to see the archived mail and make the mails visible.
Archiving the emails present in Outlook into separate files helps in minimizing the risk of data loss. There are many ways to choose the mail for archiving depending on type of users like some may choose to archive old emails or some may choose only the important mails.
The preferred method is to create an identity, as rebuilding the database is not possible while using Exchange. When all the emails are saved locally in archived files, user can create a new profile, setup the account and then import the mail. Microsoft database utility can be used to manage identities by holding the option key and clicking on Outlook icon. New identity will be created, set it as default and re-add the account. Outlook will re-sync folders from the server.
The synchronization time and time to move large sized mails within the mailbox can be reduced when user saves the settings to download only the headers of the emails. However, users need to be online to read the whole email since only the headers are downloaded initially. Reading the content or downloading attachments requires user to be online.
The blog has been aimed to study about the Outlook 2011 Mac not Syncing Exchange Server Issues. As Microsoft provides no information about the synchronization issues, some of the ideas have been described to guide user in resolving the same issue.


Wine – Red wine is good for the body, especially the heart, in moderation. Just be sure to keep it to one glass a day and check with your doctor before you start.
Cocoa – You know that good stuff chocolate is made from, a little each day will improve your brain health without blowing your diet. When you shop, look for dark chocolate with a high percentage of cacao.
Almonds – They make an effective and efficient high-protein snack with lots of crunch to help lower cholesterol levels for better heart and brain health. Stick to just a few each day, though. They add a lot of calories to your diet.
Of course, don't ignore the things that you do just for your ears when considering smart health choices. Sound hygiene refers to protecting your ears from the noise that leads to damage. Don't wear headphones or earbuds to listen to music or talk on the phone. They introduce loud noise directly into the ear canal. By the time it reaches the sensitive mechanisms of the inner ear, it is strong enough to cause problems. If you are going out for the night to a club or to hear a band, wear ear protection to prevent the sound vibrations from causing ear trauma.