California is moving toward banning those little bottles of shampoo you get in hotel rooms.
"In California alone hotels use hundreds of millions of single use plastic bottles every year," said Assembly Member Ash Kalra of San Jose.
"We can get those bottles out of the waste stream, but also cut the production of them, which is also harmful to the environment," he said.
My local publicly run electric utility district is represented by an elected board of directors, none of whose names I know or care to know. The lights always go on and the monthly bill never is awful. Is the district run as efficiently as possible? That's doubtful, but who cares? Economists call this "rational ignorance." It's simply not worth the time and effort to learn much more about it given the limited payback such knowledge would yield.
That's my view toward the waste-disposal district, road district and levee board. It's also a model for what the state and feds should strive for. The founders envisioned a national government where it wouldn't matter if you didn't know the name of the president because the position's power was so limited that even a buffoon could handle it.
That train left the station more than 150 years ago. Now, every American not only knows the name of the president, but every half-baked and misspelled thought that pops into his head as he broadcasts it on Twitter. His enemies fume, and everyone argues endlessly about the latest nonsense. Other politicians grab the limelight to oppose the policies of the president. It's a never-ending cycle, especially for those of us living in California, the heart of the Resistance.
"Gov. Gavin Newsom has crystallized his vision of what California will look like in the Trump era: It won't just be the hub of the resistance against the president; it will be its own nation-state," wrote the San Francisco Chronicle's Joe Garofoli in February. This is the worst of all worlds. We not only have to put up with a publicity-seeking narcissist in the White House, we have to put up with one in the state Capitol, too. It was bad enough living in only one nation-state.
Two months later, we see that Garofoli was correct. Our new California government even has its own foreign policy now. Newsom just went to El Salvador to learn about the reasons so many Salvadorans make the dangerous trek to the California border. Columnist George Skelton offered an appropriately snarky answer: "Escaping poverty and bullies…have been root motivators forever." Newsom could maybe, he suggested, "read a book or do a little Googling." Or he could talk to some of the many Salvadorans living in California.
But these days, everything is about publicity, which confirms the old saw that politics is show business for ugly people. That quip applies better to the dowdy Trump than the dapper Newsom, but the point is accurate. And I write as someone who isn't totally opposed to either politician. Trump strikes me as morally reprehensible, but his judicial selections and de-regulatory policies are praiseworthy. Newsom is smart and likeable—and I agree with a few of his policies. But can't both men spend more time governing and less time posturing?
It keeps getting worse. Last week, California joined five other states and the District of Columbia in suing the Trump administration over its softening of federal nutritional standards to allow schools to provide fewer whole grains and more salt in their cafeteria meals. Real. Slowly. Now. School-lunch contents are the business of local school boards and principals, not presidents, governors, and attorneys general. This is not a state or federal issue.
That's at least the 47th lawsuit that the state of California has filed or joined against the Trump administration on issues ranging from ObamaCare to vehicle-mileage standards to the border "emergency." Some are legit, and others aren't, but it's hard to believe these are being filed mainly for constitutional reasons rather than to elevate California politicians to leading national political roles.
"I don't want to be a sparring partner with President Trump," Newsom said in February. "(B)ut he makes it all but impossible when he plays these games." I agree with Newsom on that border issue, but he should stick to the many state issues that require attention.
And I mean our state. Attorney General Xavier Becerra recently announced a California state-funded travel ban to South Carolina because of its new rule allowing publicly funded faith-based foster agencies to base decisions on religious belief. Whether one views the rule as discriminatory to gay parents or supportive of religious liberty, it's none of California's business. Nation-states have their own "foreign" policy, but they should never be too interventionist.
With the world's fifth-largest economy, California can seem like its own country. But its leaders should spend more time dealing with our own pension debts, crumbling roads, poor-performing schools, sky-high poverty rates, housing shortages and homeless crises, and less time with foreign visits and federal lawsuits. The president should pipe down, too, and deal with the nation's sprawling debt and spending problems. Maybe both men can learn from my local utilities district by just doing their jobs and leaving us alone.
For two decades, the California Chamber of Commerce's annual descriptions of certain legislative bills as "job killers" have framed the Capitol's sharpest economic conflicts.
The chamber, working in concert with other business and employer groups, has been remarkably successful in modifying or killing the two or three dozen measures that find their way onto the list each year.
Even though most of the bills are carried by the Legislature's dominant Democrats and are sponsored by some of the party's most influential allies, such as labor unions and personal injury lawyers, the chamber has rung up about a 90 percent kill ratio.
Only rarely do the targeted bills die in formal legislative votes. Most simply disappear when their sponsors and legislative leaders realize that they don't have the votes.
Last year, just one of the designated "job killers" reached outgoing Gov. Jerry Brown's desk and he vetoed it, saying it violated federal law. That measure, which would have prohibited arbitration agreements as a condition of employment, is back this year, one of the 24 bills on the 2019 list released last week.
The revived arbitration bill, Assembly Bill 51, is being carried again this year by Assemblywoman Lorena Gonzalez, a San Diego Democrat who is one of the few legislators to score wins against the chamber in past years.
The chamber's success, at least in part, has reflected the cultivation of a bloc of moderate Democrats by it and other business groups, and dubbed the "mod squad" by Capitol insiders. Business lobbyists could also count on sympathetic support from recent governors, including Brown, who would quietly advise legislators not to send them measures that they were unwilling to sign.
However, the Capitol's ideological ambiance has undergone a shift to the left, not only because Democratic legislative supermajorities became even larger in last year's election, but because California voters also elected a new governor, Gavin Newsom, who is outwardly more liberal than Brown.
Moreover, there's a big psychological impetus among the Capitol's Democrats to reinforce California's status as the leader of the "resistance" to President Donald Trump.
That attitude is reflected in one of the most contentious of the 2019 "job-killer" bills, Senate Bill 1, carried by Senate President Pro Tem Toni Atkins, a San Diego Democrat. It would give state regulators broad authority to adopt new environmental and worker standards to replace those being weakened by the Trump administration.
Finally, a couple of the bills on the chamber's new list – both relating to protecting private data – are being carried by Republicans, which is another new wrinkle in the annual ritual.
Those changing conditions seemingly give sponsors of bills on the 2019 list more cause for optimism, and will probably make it tougher for the chamber and other business groups to continue to score wins as they go head-to-head with unions, lawyers, consumer advocates and environmental groups.
Dan Walters is a columnist for CALmatters.
The University of Southern California (USC) sexual assault scandal is back in the limelight thanks to a new bill introduced by California Assemblywoman Eloise Reyes (AB 1510) that gives victims a 12-month window to revive cases that are barred by the state's statute of limitations. While the bill appears to offer victims a new chance to pursue justice, in reality, it jeopardizes their privacy and the financial compensation that is guaranteed by a recently offered class-action settlement.
In 2017, USC fired its gynecologist Dr. George Tyndall for complaints about inappropriate comments and conduct toward his patients. Since then, about 500 students have filed sexual assault lawsuits against Tyndall and the university.
This year, USC offered a $215 million class-action settlement for any Tyndall patient who chooses to participate. The settlement amounts to up to $250,000 per patient and requires the university to make several changes to the ways it handles sexual misconduct prevention and response.
The catch is that participating in the class-action lawsuit settlement would prevent women from filing lawsuits of their own in state court, which means many have an important decision to make — hope to earn justice and a better payout through an individual lawsuit or accept the justice and payment the USC settlement offers.
Reyes' legislation makes this decision even more difficult. If passed, the bill would give Tyndall's patients an extra year to decide whether to opt-out of the class-action lawsuit and file a lawsuit of their own. Such an extension combined with attorneys' promises and the immense media pressure surrounding the USC case will incentivize patients to forego the class-action settlement. But in so doing, victims would gamble away their chances at justice, payment and privacy.
Unlike most sexual assault settlements, USC's class-action settlement guarantees payment to all possible victims. Every patient of Dr. Tyndall's — even those who have not yet alleged assault — will receive at least $2,500 unless they choose to opt out. Those willing to submit a written statement and conduct a private interview with a court-approved third-party specialist will receive up to $250,000. Although not as large as payouts in the Michigan State University assault case surrounding former sports doctor Larry Nassar, these payments are as large or larger than what many sexual assault victims receive.
Even in famous sexual abuse cases, women often receive less than the settlement USC offers. In the Harvey Weinstein cases, for example, most women settled for between $80,000 and $150,000.
Acting on Reyes' legislation also forces victims to undertake the painful and public process of proving to an unpredictable jury that Tyndall assaulted them — in many cases relying on evidence that is decades old, with witnesses that are missing, and with testimony marred by age and forgetfulness.
Lebon noted that the USC settlement avoids the challenges individual lawsuits would raise, affording victims the payment and privacy they deserve.
Lawmakers should not fall for the claim that this legislation will bring women justice — for many, it will jeopardize the justice they've already won. Instead, lawmakers should listen to women's advocates, attorneys, and victims themselves and allow women to make their own decisions about whether to accept the USC settlement as it stands, without adding new caveats, exceptions, or confusions to the law.
Kristiana Bolzman is a contributor for Young Voices and writes on education policy issues for a San Francisco-based nonprofit. Follow her on Twitter @KristianaBolzmn.
Every day it seems like the California Legislature careens further off the rails, and we're not just talking about the state's infamous high speed rail project. The rapidity of tax increase proposals that would punish both citizen and business taxpayers is breathtaking. Particularly astounding is the fact that new revenue simply isn't needed given our highest-in-the-nation income tax rate, state sales tax rate and a litany of other tax metrics that cause residents of other states to fall to their knees in gratitude that they don't live here. (That is especially true for the millions of former Californians who have escaped to lower tax states).


text:
Viral photos of pigs drowning are not scenes from Hurricane Florence
Louis Baudoin-Laarman Published on Tuesday 18 September 2018 at 20:25
Photos of pigs reportedly drowning in North Carolina due to floods caused by Hurricane Florence are being shared on social media with misleading captions. While farm animals suffering or dying during floods is a real issue, the viral photos were taken in Vietnam in 2017, Iowa in 2008, and North Carolina in 1999.
"The victims nobody talks about…(Hurricane Florence in North Carolina)" This caption was used to draw attention to photos in a Facebook post shared over 250,000 times in four days. While the state's large hog population is at risk during flooding incidents, none of the photos in the Facebook post and tweets were taken this year.
Screenshot of the photo shared on Facebook (Facebook / DR / AFP)
One gruesome photo depicts the dead bodies of hundreds of pigs floating in murky water inside of a building. This photo is also the one that was taken the furthest away from North Carolina. It was taken in Vietnam's Thanh Hoa province, in the rural Yen Dinh district, following an October 2017 tropical depression. It was first posted on social media on October 12, 2017, to a Facebook group for the inhabitants of the Thanh Hoa province.
The two close-up photos of pigs were taken in June 2008 during floods in the US state of Iowa by photographer, Molly Wald.
Screenshots of the photos shared on Facebook (Facebook / Molly Wald)
Screenshot of the photo shared on Facebook (Facebook / Mel Nathason)
The last two photos were taken in North Carolina, but not in 2018. One shows pigs on the roof of a farm near Trenton, North Carolina, following Hurricane Floyd in 1999. Photographer Mel Nathanson of the Raleigh, North Carolina newspaper The News & Observer took the photo, Scott Sharpe, the newspaper's photo editor, confirmed to AFP.
Screenshot of the photo shared on Facebook (Facebook / Rick Dove)
The last shows a similar scene and was taken by local photographer Rick Dove, also in 1999 in North Carolina.
Although the photos were shared out of context, they reflect a reality that farm animals can face during flooding incidents. North Carolina is particularly at risk because its nine million pigs make up the second largest hog population in the US, after Iowa.
Those hogs are at risk of being left behind, as happened in 1999 during Hurricane Floyd. North Carolina's high porcine population density also means that manure stored in large uncovered lagoons risks overflowing, as Quartz reported.
*Note: this article was updated to change the photo layout
Louis Baudoin-Laarman
No, an elephant was not photographed carrying a lion cub in its trunk
No, not all Trident chewing gum sold in Pakistan is haram

redpajama_set_name: RedPajamaCommonCrawl


I have enough of heavyweight, sometimes cluttered IDEs. I don't know, maybe I'm getting too old-school or something, but I find myself working faster with plain old vim.
Of course, over time I have been optimizing the editor with the addition of several plugins and customization of its settings.
This gives you a nice tree view of the filesystem.
Validates the code for compilation errors as well as styling and informs you of this, almost in real-time!
You might want to throw in some visual enhancements as well. The railscasts color scheme along with the Monaco font are a pretty good combination.
And that's it. Please feel free to post your suggestions!


text:
Israeli Police Attack Large Anti-Prawer Protests In Haifa
By Staff, www.maannews.net
NAZARETH (Ma'an) — Hundreds of protestors participated in a large demonstration in Haifa on Saturday against the Prawer Plan as part of a global "Day of Rage."
Many protesters were detained as Israeli police violently dispersed the crowds in the northern Israeli city, and clashes continued into the evening.
Protests took place on both sides of the Green Line as well as worldwide, as Palestinians, Israelis, and internationals protested in Israel, the West Bank, Gaza and in at least 14 other countries in Europe and the Arab World against the plan to forcibly relocate tens of thousands of Palestinian Bedouins.
Israeli forces dispersed protesters in Haifa with water cannons and detained many others after Israeli police claimed that protesters threw rocks at them.
A statement from the Youth Movement in Haifa referred to the protest as a "Day of Rage against the Prawer Plan, which entails the confiscation of 800 dunams of land, displacing 70,000 people from the Negev, and destroying 38 stolen villages."
The statement also referenced other "Days of Rage" which have taken place in protest so far this year, saying, "we went out on the fifteenth of July, and the first of August, and imposed our single, united position in defiance of the lowly Israeli Police which brutally assaulted people, young men and woman, injuring and arresting dozens."
"Prawer will not pass," it added.
"This is the definitive, conclusive word of people, and just as we went out to the street in the past, we do it again now."
Anti-Prawer demonstrations were also held in other cities across Israel, particularly in the majority-Palestinian towns of Taybeh, Sakhnin and others.
Earlier in the day more than 1,000 protested in the Negev town of Hura.
Ahmad al-Tibi, a member of the Israeli Knesset who was in attendance at the Hura protest, told Ma'an that "the protest was meant to emphasize that Prawer will not pass on the ground, even if it does in the Knesset, because it's essential goal is to displace the indigenous Arabs from their towns."
Al-Tibi added that the "resolution will not be respected because it is racist."
The demonstrations were part of at least 24 protests against the Prawer Plan worldwide that took place on Saturday.
The Israeli government approved the Prawer-Begin Plan in 2011, in what it says was an attempt to address the problem of unrecognized Bedouin villages in the Negev desert of southern Israel.
According to the Association for Civil Rights in Israel, the plan will forcibly evict nearly 40,000 Bedouin and destroy their communal and social fabric, condemning them to a future of poverty and unemployment.
Other estimates put the number of Bedouin residents to be evicted by the Prawer Plan at 70,000.
Israel refuses to recognize 35 Bedouin villages in the Negev, which collectively house nearly 90,000 people.
The Israeli government denies them access to basic services and infrastructure, such as electricity and running water, and refuses to place them under municipal jurisdiction.
Israel, Palestine, Sovereignty


text:
Canadians Believe Social Media is Fake
June 28, 2019 @ 11:26 AM | Filed under: National
CC image courtesy of startbloggingonline.com
Toronto, June 25th – In a random sampling of public opinion taken by The Forum Poll™ among 1619 Canadians, one-fifth of respondents (21%) don't use social media at all, one-fifth of respondents (21%) use it less than thirty minutes a day, one-fifth (20%) use it more than thirty minutes but less than an hour, one fifth (20%) use it between one hour and two hours, one-tenth (9%) use it more than two hours but less than three, and another tenth (10%) use it 3 hours or more.
Respondents more likely to not use social media include those aged 65 and over (44%), males (23%), those earning less than $20,000 (27%) and $20,000-$40,000 (26%), and those living in Quebec (27%).
Respondents more likely to use social media less than thirty minutes include those aged 55 to 64 (28%), males (23%), earning $80,000-$100,000 (25%), those with post-graduate degrees (25%), those living in Manitoba/Saskatchewan (29%), more likely not to use social media everyday (75%), and most likely to spend their time using LinkedIn (63%).
Respondents more likely to use social media the most (3 hours+) include those aged 18 to 34 (21%), females (12%), those earning less than $20,000 (18%), those with secondary school or less (14%) and those who completed college or university (11%), are more likely to use social media more than 10 times per day (42%), and are more likely to use Snapchat (25%).
Younger respondents and Snapchat users use social media more frequently per day
One-sixth of respondents (15%) don't look at social media every day, another sixth (16%) look at social media once per day, one-third of respondents (33%) look at social media 2-5 times a day, one-fifth (19%) use social media 6-10 times per day, another fifth (18%) use social media more than 10 times per day.
Those not likely to use social media every day include those aged 65 and over (30%), earning less than $20,000 (19%) and $20,000 to $40,000 (18%), those living in British Columbia (18%), Alberta (17%), and Manitoba/Saskatchewan (17%), are more likely to use social media less than 30 minutes (42%), and those more likely to use LinkedIn (39%) and Pinterest (38%) the most.
Those more likely to use social media more frequently (10 times plus per day) include those aged 18 to 34 (32%), those earning less than $20,000 (25%) and $80,000 to $100,00 (20%), those living in Atlantic Canada (25%) and Alberta (24%), are more likely to use social media for 3 hours or more (60%), and those more likely to use Snapchat (38%).
Those less likely to post on social media check LinkedIn the most
One-fifth of respondents (19%) never post on social media, one-third (30%) post every few months, one-fifth (22%) post every few weeks, another fifth (17%) post weekly, one-tenth (9%) post daily, and a few (4%) post multiple times per day.
Those more likely to never post include those aged 65 and over (35%), those living in Manitoba/Saskatchewan (23%), Ontario (20%), Quebec (21%), those who use social media less than 30 minutes (34%),those who do not to use social media every day (41%), those who use Pinterest (40%) the most and Linkedin (37%) the most.
Those more likely to post every few weeks include those aged 35 to 44 (27%), those living in Atlantic Canada (27%) and British Columbia (25%), those more likely to check social media 5 times per day (27%), and those more likely to look at Twitter (27%), Instagram (25%), and Pinterest (26%).
Facebook is used by older Canadians and Instagram is used by younger Canadians
A majority of respondents (59%) use Facebook the most, one-sixth (15%) use Instagram the most, one-tenth (8%) use Twitter the most, another tenth (7%) use something else, and a few use LinkedIn (4%), Snapchat (3%), Pinterest (3%), and Tumblr (1%).
Those more likely to use Facebook include those aged 55 to 64 (72%) and 65 and over (72%), females (63%), those earning $20,000 to $40,000 (69%), those living in Quebec (76%), those more likely to use social media 30 to 59 minutes (66%) and 1 to 2 hours (64%), and those more likely to check social media 2 to 5 times per day (65%).
Those more likely to use Instagram include those aged 18 to 34 (29%), those living in Ontario (19%), British Columbia (19%), and Atlantic Canada (17%), those more likely to use social media 2 to 3 hours (27%), and those more likely to check social media 6 to 10 times per day (22%) or more than 10 times (22%).
Highly educated respondents are less likely to trust social media
Most respondents (BTM2: 65%) do not trust social media with one-third (34%) saying they trust it a little and another third (32%) saying not at all. The third (TOP2: 31%) that does trust social media a few (4%) trust it a lot and almost a third (27%) trust it somewhat. A few (4%) are not sure.
Those less likely to trust social media include those aged 18-34 (67%), 55 to 64 (67%), and 65 and over (70%), males (67%), respondents with some college or university and above (68% of those with some college or university, 65% of those who completed college or university, and 66% of those with post-graduate degrees), those living in Atlantic Canada (68%), Ontario (70%), and Manitoba/Saskatchewan (68%), those who do not use social media at all (86%), those who do not to use it every day (81%), and those who use Instagram (71%), Snapchat (70%), and Pinterest (71%).
Those more likely to trust social media include those aged 35 to 44 (39%), those earning $80,000 to $100,000 (37%) and $20,000 to $40,000 (35%), those with secondary school or less (36%), those living in Quebec (39%), those who use social media for 2 to 3 hours (51%), use social media more than 10 times per day (49%), and use LinkedIn (41%), Facebook (40%), and Twitter (40%).
Half say Facebook is half true and half fake news
One-third of respondents (BTM2: 33%) think that what they see on Facebook is fake news, with less than a third (26%) saying it is mostly fake news and a few (7%) saying it's all fake news. About a half (55%) of respondents say it's about half true and half fake news and one-tenth (13%) say news on Facebook is true with a tenth (11%) saying mostly true and a few (2%) saying it's all true.
Those more likely to say what they see on Facebook is fake news include those aged 18-34 (37%), males (37%), those earning $40,000 to $60,000 (38%), those with post-graduate degrees (39%), those who don't use social media at all (51%), and those who use Instagram (43%) and Snapchat (40%).
Those more likely to say what they see on Facebook is not fake news include those aged 55 and over (16% of those 55 to 64 and 17% of those 65 and over), those with some college or university (18%) and with secondary school or less (16%), those living in Atlantic Canada (18%), those that use social media once per day (20%) or not every day (18%), and use Snapchat (19%), LinkedIn (16%), and Facebook (16%).
Those more likely to say it's about half true and half fake news include those aged 35 to 44, females (59%), those earning $60,000 to $80,000 (62%) and $20,000 to $40,00 (59%), those who completed college or university (59%), those living in Quebec (59%) and British Columbia (56%), spend between 30 minutes to two hours (63% of those who spend between 30 minutes to 1 hour and 64% of those who spend between 1 to 2 hours), check social media 6 to 10 times per day (67%), and use Facebook (63%).
Half say Twitter is half true and half fake news
One-third (BTM2: 34%) say Twitter is filled with fake news, with a little over one-fifth (26%) saying it's mostly fake news and a few (8%) saying it's all fake news. One-sixth (TOP2: 15%) say it's not filled with fake news with a tenth (12%) saying it's mostly true and a few (3%) saying it's all true. Half of respondents (51%) say Twitter is about half true and half fake news.
Those more likely to say Twitter is filled with fake news include those aged 65 and over (44%), males (36%), those with post-graduate degrees (38%), those living in British Columbia (45%), those who do not use social media (52%), those who do not use social media everyday (38%), and those who use Snapchat (45%) the most.
Those more likely to say Twitter is not filled with fake news include those with some college or university (19%), those living in Atlantic Canada (24%), use social media for 2 to 3 hours (22%), use social media 10 times (16%) and more than 10 times (19%), and mainly use Twitter (27%).
Those more likely to say Twitter is half true and half fake news include those aged 35 to 44 (56%) and 45 to 54 (56%), females (53%), those living in Quebec (55%) and Alberta (55%), those who use social media 10 times (63%), and those who mostly use Twitter (61%) and LinkedIn (60%).
Half say Instagram is half true and half fake news
One-third (BTM 2: 35%) of respondents think Instagram is filled with fake news with a little over one-fifth (26%) saying it's mostly fake news and one-tenth (9%) saying it's all fake news. One-sixth of respondents (TOP2: 15%) say Instagram is not filled with fake news, with one-tenth (13%) saying it's mostly true and a few (2%) saying it's all true. Half of respondents (50%) think that what they see on Instagram is about half true and half fake news.
Those most likely to say Instagram is filled with fake news include those aged 65 and over (39%), those who completed college or university (37%) and those with post-graduate degrees (38%), those living in British Columbia (41%), those who don't use social media at all (52%), those who do not use social media every day (37%), and those most likely to use Twitter (37%) and Pinterest (35%).
Those more likely to say Instagram is not filled with fake news include those aged 18-34 (19%), earning less than $20,000 (26%), those with secondary school or less (21%), those living in Atlantic Canada (25%), those who use social media for 2 or more hours (26% of those who use social media for 2 to 3 hours and 25% of those who use social media for more than 3 hours, those who check social media 10 times per day (22%) or more (19%), and those more likely to use Instagram (29%) more than other social media.
Those more likely to say Instagram is about half true and half fake include those aged 35 to 44 (53%) and 45 to 54 (55%), those earning $60,00 to $80,000 (55%) and $80,000 to $100,000 (56%), those who live in Quebec (54%) and Manitoba/Saskatchewan (52%), those who use social media between 30 minutes to an hour (58%) and between 1 to 2 hours (59%), those who check 10 times a day (56%) or more (54%), and those mostly use LinkedIn (60%) or Snapchat (57%).
Non-social media users are more likely to say Snapchat is fake news
About 4-in-10 (BTM2: 43%) say they think Snapchat is fake news. Almost a third (29%) say it is mostly fake news and about a seventh (14%) say it is all fake news.
Those who are most likely to say that Snapchat is fake news are between 45 to 54 (44%), 65 and older (47%), the least wealthy (41%), earning between $40,000 to $60,000 (41%), $60,000 to $80,000 (44%), $80,000 to $100,000 (43%), the most wealthy (42%), the most educated (54%), living in the Prairies (53%) or British Columbia (47%), those who do not use social media at all (58%), and those who most frequently use Pinterest (55%).
About a seventh (TOP2: 15%) say news on Snapchat is mostly true or all true and about 4-in-10 (42%) say the news on Snapchat is about half true and half fake news.
Half are divided on Google when it comes to fake news
Nearly half (46%) say they think Google is about half true and half fake news. Those who are most likely to say that Google is about half true and half fake news are between 18 to 34 (44%), 45 to 54 (50%), 55 to 64 (49%), 65 and older (46%), earning between $40,000 to $60,000 (49%), $60,000 to $80,000 (52%), the most wealthy (47%), those who do not use social media at all (46%), use it for less than thirty minutes per day (47%), more than 30 minutes per day but less than an hour (50%), or use it for 3 hours or more per day (51%), and those who post on social media 10 times per day (55%).
About 4-in-10 (TOP2: 39%) say news on Google is mostly true or all true and about a seventh (15%) say the news on Google is mostly fake news or all fake news.
Divided when it comes to government regulations for social media
Nearly half (BTM2: 45%) say they disagree that the government should regulate social media, with about a fifth (17%) saying they somewhat disagree and almost 3-in-10 (28%) saying they strongly disagree.
About 4-in-10 (TOP2: 43%) say the government should regulate social media and about one-in-10 (12%) say they don't know.
55% in favour of laws restricting "fake news"
Majority (TOP2: 55%) say they are in favour of laws restricting "fake news" from being published on social media sites or elsewhere, with a fifth (20%) saying they are somewhat in favour and over a third (34%) saying they are strongly in favour.
Those who are most likely to say they are in favour are those aged 35 to 44 (61%), 45 to 54 (57%), 55 to 64 (56%), those earning between $60,000 to $80,000 (63%), $80,000 to $100,000 (59%), the most wealthy (57%), those who have completed college or university (60%), the most educated (61%), living in Quebec (63%) or British Columbia (57%), those who use social media for less than thirty minutes per day (57%), more than thirty minutes but less than an hour (53%), between one hour and two hours (59%), and more than two hours but less than three hours (57%), post on social media once per day (54%), 5 times per day (58%), and most frequently use Facebook or Twitter (59%), Pinterest (57%), or LinkedIn (63%).
About a third (BTM2: 34%) say they are opposed to laws restricting "fake news" from being published on social media sites and one-in-10 (11%) saying they don't know.
Influencers are not-so influential when it comes to purchasing decisions
Majority (87%) of social media influencers or celebrity endorsements do not play a big part in influencing their purchasing decisions. Those who are most likely to say this are those aged 35 to 44 (88%), 45 to 54 (88%), 55 to 64 (90%), or 65 and older (90%), those earning between $20,000 to $40,000 (87%), $40,000 to $60,000 (90%) $60,000 to $80,000 (86%), $80,000 to $100,000 (92%), or the most wealthy (92%), those who do not use social media at all (89%), use social media for less than thirty minutes per day (90%), more than thirty minutes but less than an hour (89%), or between one hour and two hours (90%) per day, do not post on social media everyday (85%), post on social media once per day 88%), 5 times per day (91%) or 10 times per day (91%), and most frequently use Facebook (90%), Pinterest (88%), LinkedIn (91%), or something else (85%).
About 1-in-10 (13%) say social media influencers or celebrity endorsements play a big part in influencing their purchasing decisions.
A third check social media before getting out of bed
Three-in-ten (30%) say they check social media before getting out of bed, while almost three-quarters (75%) say they don't.
A third check social media before bed
A third (33%) say they check social media before going to bed, while about two-thirds (67%) say they do not.
A third says social media has affected a relationship
A third (32%) say social media has affected their relationship with a friend, family member, or a romantic interest, while two-thirds (68%) say it hasn't.
"Age is a predominant predictor of social media usage," said Dr. Lorne Bozinoff, President of Forum Research. "Younger respondents are more likely to use Instagram, more likely to say they've seen fake news, and more likely to use social media frequently. There is a healthy skepticism about social media, and more than half of Canadians say they would support laws restricting fake news."


text:
(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
  typeof define === 'function' && define.amd ? define('d3-selection', ['exports'], factory) :
  factory((global.d3_selection = {}));
}(this, function (exports) { 'use strict';

  var requoteRe = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;

  function requote(string) {
    return string.replace(requoteRe, "\\$&");
  }

  function noop() {}

  var filterEvents = {};

  exports.event = null;

  if (typeof document !== "undefined") {
    var element = document.documentElement;
    if (!("onmouseenter" in element)) {
      filterEvents = {mouseenter: "mouseover", mouseleave: "mouseout"};
    }
  }

  function contextListener(listener, index, group) {
    return function(event1) {
      var event0 = exports.event; // Events can be reentrant (e.g., focus).
      exports.event = event1;
      try {
        listener.call(this, this.__data__, index, group);
      } finally {
        exports.event = event0;
      }
    };
  }

  function filterListener(listener) {
    return function(event) {
      var related = event.relatedTarget;
      if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {
        listener(event);
      }
    };
  }

  function onRemove(key, type) {
    return function() {
      var l = this[key];
      if (l) {
        this.removeEventListener(type, l, l._capture);
        delete this[key];
      }
    };
  }

  function onRemoveAll(dotname) {
    var re = new RegExp("^__on([^.]+)" + requote(dotname) + "$");
    return function() {
      for (var key in this) {
        var match = key.match(re);
        if (match) {
          var l = this[key];
          this.removeEventListener(match[1], l, l._capture);
          delete this[key];
        }
      }
    };
  }

  function onAdd(filter, key, type, listener, capture) {
    return function(d, i, group) {
      var value = this[key];
      if (value) this.removeEventListener(type, value, value._capture);
      value = contextListener(listener, i, group);
      if (filter) value = filterListener(value);
      value._listener = listener;
      this.addEventListener(type, this[key] = value, value._capture = capture);
    };
  }

  function selection_on(type, listener, capture) {
    var value,
        name = type + "",
        key = "__on" + name,
        filter;

    if (arguments.length < 2) return (value = this.node()[key]) && value._listener;
    if ((value = name.indexOf(".")) > 0) name = name.slice(0, value);
    if (filter = filterEvents.hasOwnProperty(name)) name = filterEvents[name];

    return this.each(listener
        ? (value ? onAdd(filter, key, name, listener, capture == null ? false : capture) : noop) // Attempt to add untyped listener is ignored.
        : (value ? onRemove(key, name) : onRemoveAll(name)));
  }

  function sourceEvent() {
    var current = exports.event, source;
    while (source = current.sourceEvent) current = source;
    return current;
  }

  function defaultView(node) {
    return node
        && ((node.ownerDocument && node.ownerDocument.defaultView) // node is a Node
            || (node.document && node) // node is a Window
            || node.defaultView); // node is a Document
  }

  function dispatchEvent(node, type, params) {
    var window = defaultView(node),
        event = window.CustomEvent;

    if (event) {
      event = new event(type, params);
    } else {
      event = window.document.createEvent("Event");
      if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;
      else event.initEvent(type, false, false);
    }

    node.dispatchEvent(event);
  }

  function dispatchConstant(type, params) {
    return function() {
      return dispatchEvent(this, type, params);
    };
  }

  function dispatchFunction(type, params) {
    return function() {
      return dispatchEvent(this, type, params.apply(this, arguments));
    };
  }

  function selection_dispatch(type, params) {
    return this.each((typeof params === "function"
        ? dispatchFunction
        : dispatchConstant)(type, params));
  }

  function selection_datum(value) {
    return arguments.length
        ? this.property("__data__", value)
        : this.node().__data__;
  }

  function remove() {
    var parent = this.parentNode;
    if (parent) parent.removeChild(this);
  }

  function selection_remove() {
    return this.each(remove);
  }

  var namespaces = {
    svg: "http://www.w3.org/2000/svg",
    xhtml: "http://www.w3.org/1999/xhtml",
    xlink: "http://www.w3.org/1999/xlink",
    xml: "http://www.w3.org/XML/1998/namespace",
    xmlns: "http://www.w3.org/2000/xmlns/"
  };

  function namespace(name) {
    var prefix = name += "", i = prefix.indexOf(":");
    if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1);
    return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name;
  }

  function selector(selector) {
    return function() {
      return this.querySelector(selector);
    };
  }

  function creatorInherit(name) {
    return function() {
      var document = this.ownerDocument,
          uri = this.namespaceURI;
      return uri
          ? document.createElementNS(uri, name)
          : document.createElement(name);
    };
  }

  function creatorFixed(fullname) {
    return function() {
      return this.ownerDocument.createElementNS(fullname.space, fullname.local);
    };
  }

  function creator(name) {
    var fullname = namespace(name);
    return (fullname.local
        ? creatorFixed
        : creatorInherit)(fullname);
  }

  function append(create) {
    return function() {
      return this.appendChild(create.apply(this, arguments));
    };
  }

  function insert(create, select) {
    return function() {
      return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);
    };
  }

  function constantNull() {
    return null;
  }

  function selection_append(name, before) {
    var create = typeof name === "function" ? name : creator(name);
    return this.select(arguments.length < 2
        ? append(create)
        : insert(create, before == null
            ? constantNull : typeof before === "function"
            ? before
            : selector(before)));
  }

  function lower() {
    this.parentNode.insertBefore(this, this.parentNode.firstChild);
  }

  function selection_lower() {
    return this.each(lower);
  }

  function raise() {
    this.parentNode.appendChild(this);
  }

  function selection_raise() {
    return this.each(raise);
  }

  function htmlRemove() {
    this.innerHTML = "";
  }

  function htmlConstant(value) {
    return function() {
      this.innerHTML = value;
    };
  }

  function htmlFunction(value) {
    return function() {
      var v = value.apply(this, arguments);
      this.innerHTML = v == null ? "" : v;
    };
  }

  function selection_html(value) {
    return arguments.length
        ? this.each(value == null
            ? htmlRemove : (typeof value === "function"
            ? htmlFunction
            : htmlConstant)(value))
        : this.node().innerHTML;
  }

  function textRemove() {
    this.textContent = "";
  }

  function textConstant(value) {
    return function() {
      this.textContent = value;
    };
  }

  function textFunction(value) {
    return function() {
      var v = value.apply(this, arguments);
      this.textContent = v == null ? "" : v;
    };
  }

  function selection_text(value) {
    return arguments.length
        ? this.each(value == null
            ? textRemove : (typeof value === "function"
            ? textFunction
            : textConstant)(value))
        : this.node().textContent;
  }

  function classArray(string) {
    return string.trim().split(/^|\s+/);
  }

  function classList(node) {
    return node.classList || new ClassList(node);
  }

  function ClassList(node) {
    this._node = node;
    this._names = classArray(node.getAttribute("class") || "");
  }

  ClassList.prototype = {
    add: function(name) {
      var i = this._names.indexOf(name);
      if (i < 0) {
        this._names.push(name);
        this._node.setAttribute("class", this._names.join(" "));
      }
    },
    remove: function(name) {
      var i = this._names.indexOf(name);
      if (i >= 0) {
        this._names.splice(i, 1);
        this._node.setAttribute("class", this._names.join(" "));
      }
    },
    contains: function(name) {
      return this._names.indexOf(name) >= 0;
    }
  };

  function classedAdd(node, names) {
    var list = classList(node), i = -1, n = names.length;
    while (++i < n) list.add(names[i]);
  }

  function classedRemove(node, names) {
    var list = classList(node), i = -1, n = names.length;
    while (++i < n) list.remove(names[i]);
  }

  function classedTrue(names) {
    return function() {
      classedAdd(this, names);
    };
  }

  function classedFalse(names) {
    return function() {
      classedRemove(this, names);
    };
  }

  function classedFunction(names, value) {
    return function() {
      (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);
    };
  }

  function selection_classed(name, value) {
    var names = classArray(name + "");

    if (arguments.length < 2) {
      var list = classList(this.node()), i = -1, n = names.length;
      while (++i < n) if (!list.contains(names[i])) return false;
      return true;
    }

    return this.each((typeof value === "function"
        ? classedFunction : value
        ? classedTrue
        : classedFalse)(names, value));
  }

  function propertyRemove(name) {
    return function() {
      delete this[name];
    };
  }

  function propertyConstant(name, value) {
    return function() {
      this[name] = value;
    };
  }

  function propertyFunction(name, value) {
    return function() {
      var v = value.apply(this, arguments);
      if (v == null) delete this[name];
      else this[name] = v;
    };
  }

  function selection_property(name, value) {
    return arguments.length > 1
        ? this.each((value == null
            ? propertyRemove : typeof value === "function"
            ? propertyFunction
            : propertyConstant)(name, value))
        : this.node()[name];
  }

  function styleRemove(name) {
    return function() {
      this.style.removeProperty(name);
    };
  }

  function styleConstant(name, value, priority) {
    return function() {
      this.style.setProperty(name, value, priority);
    };
  }

  function styleFunction(name, value, priority) {
    return function() {
      var v = value.apply(this, arguments);
      if (v == null) this.style.removeProperty(name);
      else this.style.setProperty(name, v, priority);
    };
  }

  function selection_style(name, value, priority) {
    var node;
    return arguments.length > 1
        ? this.each((value == null
              ? styleRemove : typeof value === "function"
              ? styleFunction
              : styleConstant)(name, value, priority == null ? "" : priority))
        : defaultView(node = this.node())
            .getComputedStyle(node, null)
            .getPropertyValue(name);
  }

  function attrRemove(name) {
    return function() {
      this.removeAttribute(name);
    };
  }

  function attrRemoveNS(fullname) {
    return function() {
      this.removeAttributeNS(fullname.space, fullname.local);
    };
  }

  function attrConstant(name, value) {
    return function() {
      this.setAttribute(name, value);
    };
  }

  function attrConstantNS(fullname, value) {
    return function() {
      this.setAttributeNS(fullname.space, fullname.local, value);
    };
  }

  function attrFunction(name, value) {
    return function() {
      var v = value.apply(this, arguments);
      if (v == null) this.removeAttribute(name);
      else this.setAttribute(name, v);
    };
  }

  function attrFunctionNS(fullname, value) {
    return function() {
      var v = value.apply(this, arguments);
      if (v == null) this.removeAttributeNS(fullname.space, fullname.local);
      else this.setAttributeNS(fullname.space, fullname.local, v);
    };
  }

  function selection_attr(name, value) {
    var fullname = namespace(name);

    if (arguments.length < 2) {
      var node = this.node();
      return fullname.local
          ? node.getAttributeNS(fullname.space, fullname.local)
          : node.getAttribute(fullname);
    }

    return this.each((value == null
        ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === "function"
        ? (fullname.local ? attrFunctionNS : attrFunction)
        : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));
  }

  function selection_each(callback) {

    for (var groups = this._nodes, j = 0, m = groups.length; j < m; ++j) {
      for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {
        if (node = group[i]) callback.call(node, node.__data__, i, group);
      }
    }

    return this;
  }

  function selection_empty() {
    return !this.node();
  }

  function selection_size() {
    var size = 0;
    this.each(function() { ++size; });
    return size;
  }

  function selection_node() {

    for (var groups = this._nodes, j = 0, m = groups.length; j < m; ++j) {
      for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {
        var node = group[i];
        if (node) return node;
      }
    }

    return null;
  }

  function selection_nodes() {
    var nodes = new Array(this.size()), i = -1;
    this.each(function() { nodes[++i] = this; });
    return nodes;
  }

  function selection_call() {
    var callback = arguments[0];
    arguments[0] = this;
    callback.apply(null, arguments);
    return this;
  }

  function arrayify(selection) {

    for (var groups = selection._nodes, j = 0, m = groups.length; j < m; ++j) {
      if (!Array.isArray(group = groups[j])) {
        for (var n = group.length, array = groups[j] = new Array(n), group, i = 0; i < n; ++i) {
          array[i] = group[i];
        }
      }
    }

    return groups;
  }

  function selection_sort(compare) {
    if (!compare) compare = ascending;

    function compareNode(a, b) {
      return a && b ? compare(a.__data__, b.__data__) : !a - !b;
    }

    for (var groups = arrayify(this), j = 0, m = groups.length; j < m; ++j) {
      groups[j].sort(compareNode);
    }

    return this.order();
  }

  function ascending(a, b) {
    return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
  }

  function selection_order() {

    for (var groups = this._nodes, j = -1, m = groups.length; ++j < m;) {
      for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {
        if (node = group[i]) {
          if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);
          next = node;
        }
      }
    }

    return this;
  }

  function sparse(update) {
    return new Array(update.length);
  }

  function selection_exit() {
    var exit = this._exit;
    if (exit) return this._exit = null, exit;
    return new Selection(this._nodes.map(sparse), this._parents);
  }

  function selection_enter() {
    var enter = this._enter;
    if (enter) return this._enter = null, enter;
    enter = new Selection(this._nodes.map(sparse), this._parents);
    enter._update = this;
    return enter;
  }

  function constant(x) {
    return function() {
      return x;
    };
  }

  var keyPrefix = "$"; // Protect against keys like "__proto__".

  function bindIndex(parent, update, enter, exit, data) {
    var i = 0,
        node,
        nodeLength = update.length,
        dataLength = data.length,
        minLength = Math.min(nodeLength, dataLength);

    // Clear the enter and exit arrays, and then initialize to the new length.
    enter.length = 0, enter.length = dataLength;
    exit.length = 0, exit.length = nodeLength;

    for (; i < minLength; ++i) {
      if (node = update[i]) {
        node.__data__ = data[i];
      } else {
        enter[i] = new EnterNode(parent, data[i]);
      }
    }

    // Note: we don't need to delete update[i] here because this loop only
    // runs when the data length is greater than the node length.
    for (; i < dataLength; ++i) {
      enter[i] = new EnterNode(parent, data[i]);
    }

    // Note: and, we don't need to delete update[i] here because immediately
    // following this loop we set the update length to data length.
    for (; i < nodeLength; ++i) {
      if (node = update[i]) {
        exit[i] = update[i];
      }
    }

    update.length = dataLength;
  }

  function bindKey(parent, update, enter, exit, data, key) {
    var i,
        node,
        dataLength = data.length,
        nodeLength = update.length,
        nodeByKeyValue = {},
        keyValues = new Array(nodeLength),
        keyValue;

    // Clear the enter and exit arrays, and then initialize to the new length.
    enter.length = 0, enter.length = dataLength;
    exit.length = 0, exit.length = nodeLength;

    // Compute the keys for each node.
    for (i = 0; i < nodeLength; ++i) {
      if (node = update[i]) {
        keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, update);

        // Is this a duplicate of a key we've previously seen?
        // If so, this node is moved to the exit selection.
        if (nodeByKeyValue[keyValue]) {
          exit[i] = node;
        }

        // Otherwise, record the mapping from key to node.
        else {
          nodeByKeyValue[keyValue] = node;
        }
      }
    }

    // Now clear the update array and initialize to the new length.
    update.length = 0, update.length = dataLength;

    // Compute the keys for each datum.
    for (i = 0; i < dataLength; ++i) {
      keyValue = keyPrefix + key.call(parent, data[i], i, data);

      // Is there a node associated with this key?
      // If not, this datum is added to the enter selection.
      if (!(node = nodeByKeyValue[keyValue])) {
        enter[i] = new EnterNode(parent, data[i]);
      }

      // Did we already bind a node using this key? (Or is a duplicate?)
      // If unique, the node and datum are joined in the update selection.
      // Otherwise, the datum is ignored, neither entering nor exiting.
      else if (node !== true) {
        update[i] = node;
        node.__data__ = data[i];
      }

      // Record that we consumed this key, either to enter or update.
      nodeByKeyValue[keyValue] = true;
    }

    // Take any remaining nodes that were not bound to data,
    // and place them in the exit selection.
    for (i = 0; i < nodeLength; ++i) {
      if ((node = nodeByKeyValue[keyValues[i]]) !== true) {
        exit[i] = node;
      }
    }
  }

  function selection_data(value, key) {
    if (!value) {
      var data = new Array(this.size()), i = -1;
      this.each(function(d) { data[++i] = d; });
      return data;
    }

    var bind = key ? bindKey : bindIndex,
        parents = this._parents,
        update = arrayify(this),
        enter = (this._enter = this.enter())._nodes,
        exit = (this._exit = this.exit())._nodes;

    if (typeof value !== "function") value = constant(value);

    for (var m = update.length, j = 0; j < m; ++j) {
      var group = update[j],
          parent = parents[j];

      bind(parent, group, enter[j], exit[j], value.call(parent, parent && parent.__data__, j, parents), key);

      // Now connect the enter nodes to their following update node, such that
      // appendChild can insert the materialized enter node before this node,
      // rather than at the end of the parent node.
      for (var n = group.length, i0 = 0, i1 = 0, previous, next; i0 < n; ++i0) {
        if (previous = enter[j][i0]) {
          if (i0 >= i1) i1 = i0 + 1;
          while (!(next = group[i1]) && ++i1 < n);
          previous._next = next || null;
        }
      }
    }

    return this;
  }

  function EnterNode(parent, datum) {
    this.ownerDocument = parent.ownerDocument;
    this.namespaceURI = parent.namespaceURI;
    this._next = null;
    this._parent = parent;
    this.__data__ = datum;
  }

  EnterNode.prototype = {
    appendChild: function(child) { return this._parent.insertBefore(child, this._next); },
    insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },
    querySelector: function(selector) { return this._parent.querySelector(selector); },
    querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }
  };

  var matcher = function(selector) {
    return function() {
      return this.matches(selector);
    };
  };

  if (typeof document !== "undefined") {
    var element$1 = document.documentElement;
    if (!element$1.matches) {
      var vendorMatches = element$1.webkitMatchesSelector
          || element$1.msMatchesSelector
          || element$1.mozMatchesSelector
          || element$1.oMatchesSelector;
      matcher = function(selector) {
        return function() {
          return vendorMatches.call(this, selector);
        };
      };
    }
  }

  var matcher$1 = matcher;

  function selection_filter(match) {
    if (typeof match !== "function") match = matcher$1(match);

    for (var groups = this._nodes, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
      for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
        if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
          subgroup.push(node);
        }
      }
    }

    return new Selection(subgroups, this._parents);
  }

  function selectorAll(selector) {
    return function() {
      return this.querySelectorAll(selector);
    };
  }

  function selection_selectAll(select) {
    if (typeof select !== "function") select = selectorAll(select);

    for (var groups = this._nodes, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
      for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
        if (node = group[i]) {
          subgroups.push(select.call(node, node.__data__, i, group));
          parents.push(node);
        }
      }
    }

    return new Selection(subgroups, parents);
  }

  function selection_select(select) {
    if (typeof select !== "function") select = selector(select);

    for (var groups = this._nodes, update = this._update, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
      for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
        if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
          if ("__data__" in node) subnode.__data__ = node.__data__;
          if (update) update._nodes[j][i] = subnode;
          subgroup[i] = subnode;
        }
      }
    }

    return new Selection(subgroups, this._parents);
  }

  var root = [null];

  function Selection(nodes, parents) {
    this._nodes = nodes;
    this._parents = parents;
  }

  function selection() {
    return new Selection([[document.documentElement]], root);
  }

  Selection.prototype = selection.prototype = {
    select: selection_select,
    selectAll: selection_selectAll,
    filter: selection_filter,
    data: selection_data,
    enter: selection_enter,
    exit: selection_exit,
    order: selection_order,
    sort: selection_sort,
    call: selection_call,
    nodes: selection_nodes,
    node: selection_node,
    size: selection_size,
    empty: selection_empty,
    each: selection_each,
    attr: selection_attr,
    style: selection_style,
    property: selection_property,
    classed: selection_classed,
    text: selection_text,
    html: selection_html,
    raise: selection_raise,
    lower: selection_lower,
    append: selection_append,
    remove: selection_remove,
    datum: selection_datum,
    on: selection_on,
    dispatch: selection_dispatch
  };

  function select(selector) {
    return typeof selector === "string"
        ? new Selection([[document.querySelector(selector)]], [document.documentElement])
        : new Selection([[selector]], root);
  }

  var bug44083 = typeof navigator !== "undefined" && /WebKit/.test(navigator.userAgent) ? -1 : 0; // https://bugs.webkit.org/show_bug.cgi?id=44083

  function point(node, event) {
    var svg = node.ownerSVGElement || node;

    if (svg.createSVGPoint) {
      var point = svg.createSVGPoint();

      if (bug44083 < 0) {
        var window = defaultView(node);
        if (window.scrollX || window.scrollY) {
          svg = select(window.document.body).append("svg").style({position: "absolute", top: 0, left: 0, margin: 0, padding: 0, border: "none"}, "important");
          var ctm = svg.node().getScreenCTM();
          bug44083 = !(ctm.f || ctm.e);
          svg.remove();
        }
      }

      if (bug44083) point.x = event.pageX, point.y = event.pageY;
      else point.x = event.clientX, point.y = event.clientY;

      point = point.matrixTransform(node.getScreenCTM().inverse());
      return [point.x, point.y];
    }

    var rect = node.getBoundingClientRect();
    return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];
  }

  function mouse(node, event) {
    if (event == null) event = sourceEvent();
    if (event.changedTouches) event = event.changedTouches[0];
    return point(node, event);
  }

  function selectAll(selector) {
    return typeof selector === "string"
        ? new Selection([document.querySelectorAll(selector)], [document.documentElement])
        : new Selection([selector], root);
  }

  function touch(node, touches, identifier) {
    if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;

    for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {
      if ((touch = touches[i]).identifier === identifier) {
        return point(node, touch);
      }
    }

    return null;
  }

  function touches(node, touches) {
    if (touches == null) touches = sourceEvent().touches;

    for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {
      points[i] = point(node, touches[i]);
    }

    return points;
  }

  var version = "0.6.2";

  exports.version = version;
  exports.mouse = mouse;
  exports.namespace = namespace;
  exports.namespaces = namespaces;
  exports.select = select;
  exports.selectAll = selectAll;
  exports.selection = selection;
  exports.touch = touch;
  exports.touches = touches;

}));

redpajama_set_name: RedPajamaGithub


text:
Detective Sherlock exposes old-time studio photos, ten years since the first season aired
Recently, the art director of the classic British drama "Detective Sherlock" exposed a set photo on the Internet.Sherlock, Watson, Jasmine and other characters appear in the photos.The first season of Detective Sherlock was broadcast in 2010, and this year (2020) is also the tenth anniversary of the show."Detective Sherlock" is a TV series produced by the BBC, starring Benedict Cumberbatch and Martin Freeman.Benedict Cumberbatch also received the nickname "Ban Fu" for the play."Detective Sherlock" has been broadcast for four seasons, and the fourth season was broadcast in January 2017.Many viewers have been looking forward to the fifth season of the show, but the film has no clear answer to this question.In 2019, Watson's actor Martin Freeman said in an interview with foreign media that if "Sherlock" is to be filmed, it needs very different content.The show is very popular and it will return. It must be worthy of its reputation.", He also said that he and" Tuan Fu "and other starring work are very frequent, it is not easy to coordinate time reunion.Sauna Night Editor Xu Meilin proofreading Li Lijun
Author adminPosted on 07/21/2020 07/11/2020 Categories 夜网Tags 杭州不正规足浴店地址, 杭州按摩店打飞机, 杭州桑拿ml, 杭州桑拿论坛蒲友交流, 杭州萧山夜网, 杭州足浴保健, 杭州龙凤论坛419
2016 Snooker National Championship China Derby Liang Wenbo 6-1 Lectra Li Xing promoted to meet Selby
On October 25th, the 3rd match day of the 2016/2017 snooker national championship (attachment: 2016 Snooker national championship complete schedule schedule + contestant match list/signing form).After the first round of fighting, Chinese players Liang Wenbo and Li Xing met in the second round to stage the Chinese Derby.Liang Wenbo, who was involved in dangerous situations, was in a brave state and showed a super offensive ability as soon as he came up.Li Xing also had a great feel, with a 139-point high in the second game.In the end, Liang Wenbo defeated Li Xing 6:1 and will face Selby in the third round.In the second round of the National Championships, China's Derby Liang Wenbo 6-1 beat Li Xing to promote Liang Wenbo. After winning the English Open this season, he has been in a good state.In the final round of the qualifying game, the winner was reversed and the opponent was almost overturned in the first round. In the second round, Liang Wenbo felt very hot and shot a single shot of 100+, 50+, 90+, and two 70+.Now Liang Wenbo's strength and status after breaking the zero championship cannot be underestimated. The two started the mutual bombing mode as soon as they opened.In the first game, Liang Wenbo took advantage of his opponent's mistakes to take the stage and faced the complex situation steadily and steadily. After solving the two Tieku red balls, he took the lead with a single shot of 102 points.In the second game, Liang Wenbo failed to enter the bench, and Li Xing did not soften. He replaced the defect of the position with a precise bench, blasting a high score of 139 points on a single shot.Liang Wenbo took the lead in the third game, but the black ball made a mistake and the two sides were entangled with each other.Later, Liang Wenbo thin the red ball into the bottom pocket. After correcting the positioning error, he successfully won the third game and won 68:22.In the fourth inning, Li Xing fired first, but made a mistake in the K ball and was interrupted at 46 points.Liang Wenbo continued to have a good feel. After scoring on the bench, the red ball pile was resolved through the K ball and a single shot was scored to win.The score came to 3:1 at halftime. At the beginning of the fifth inning of the second half, President Li Chang scored a red ball, but he did not grasp the opportunity, but instead made a defensive error, leaving Liang Wenbo with a good offensive situation.Liang Wenbo successively resolved the complexity and won 77:1, the score came to 4:1.In the sixth game, Liang Wenbo missed the black ball into the bottom bag, Li Xing ushered in the mobile phone meeting, but made a mistake when calling the red ball, only scored 33 points.Afterwards, Li Xing scored on COSCO and started to play, but broke at 51 points.At this time Liang Wenbo made a perfect defense against the library, expanding Li Xing's mistake to hit the green ball, leaving Liang Wenbo with an offensive opportunity.Facing the good situation, Liang Wenbo was frequently intensive, and finally won the sixth game with 78:51.In the seventh inning, Li Xing had a mentality problem. He faced the red ball and missed the opportunity and scored only 16 points.Liang Wenbo took the stage to pull the score to 53:16, and then seized the opportunity of a large angle thin middle bag to continue to get started.Facing the situation where the red ball scored on the scattered table replaced the over-point, Liang Wenbo made a simple mistake after scoring 60 points, but fortunately over scored with 68:32, at this time there was only one red ball left on the table.Although Li Li insisted on trying to do a snooker chase, he was still unable to return to the sky.In the end, Liang Wenbo scored on the long platform, using brave play to win the whole game 6:1, successfully advanced to the top 16, and will meet the world's number one Mark Selby in the third round. Follow Liang Wenbo》》Liang Wenbo 2016 Snooker National Championship match schedule Liang Wenbo's latest match live video
Author adminPosted on 07/20/2020 07/11/2020 Categories kkgznjddTags 家庭式个人保健赶集网, 杭州水疗会所, 杭州油压会所全部查封, 杭州油压按摩, 杭州足浴店小姐
2015 Birmingham-Navarro wins Kuzva and advances to the quarterfinals
2015 Birmingham-Navarro wins Kuzova and advances to the quarterfinals
England, Birmingham-On June 18th local time, the 2015 Aegon Birmingham Classic continued, with Navarro making the perfect transition from clay to grass. Two sets of Lectra Kuznetsova broke into the quarterfinals.纳瓦罗在比赛中 经历了首场比赛的三盘大战之后,纳瓦罗在第二场草地比赛中找回了状态,3号种子最终以6-3,6-4力克库兹涅佐娃. Navarro's performance this season is extremely stable, and the 35th victory of the year also helped her break into the quarterfinals for the 11th time.I feel great this year. I have worked hard to prepare for the offseason, and now I finally have the harvest season, Navarro said. In the past, Navarro has made a lot of good results on the clay court, but now her play style is also very handy on the grass.The key break in the eighth inning of the first set controlled the progress of the game. Navarro's outstanding backhand lost Kuznetsova's position. The Spaniard took the opportunity to break and win the first set. Navarro, who was chasing after the victory, quickly established a 4-1 lead in the second set, but the Spaniard looking forward to the quick victory ushered in Kuznetsova's strong bravery in the final stage, and finally she was in the fourth gameOnly points successfully fulfilled the promotion to the quarterfinals. Kuznetsova has always been a difficult opponent, but the grass game will definitely be different, so we need to work harder to find the best state, Navarro said that she has been fighting until the end, I alsoIn trying to maintain a steady performance, beat your own rhythm. Navarro will face No. 6 seed Carolina Pliskova in the quarter-finals.
Author adminPosted on 07/19/2020 07/11/2020 Categories oaogmiluTags 杭州spa馆, 杭州上门足浴按摩, 杭州丝袜按摩足疗, 杭州按摩全套, 杭州最大洗浴休闲会所, 杭州桑拿排行榜, 杭州水磨多少钱, 杭州足浴吧
Fan Jingshan visited 1.44 million tourists last year
On April 29, Wuhan Sante Ropeway Group Co., Ltd. (hereinafter referred to as "Sante Ropeway") released its 2019 annual report.Reporting the average, the three special ropeway realized operating income6.7.7 billion, an annual increase of 4.39%; net profit 1140.58 per month, at least 91 per year.53%.According to the announcement, the operating income of Sande Ropeway increased last year. The reception of tourists to attractions such as Fanjing Mountain and Qiandao Lake has improved. Since September, the combined scope of East Lake Ocean Park has increased the volume of revenue; the decrease in net profit is mainly due toIn the year, the company transferred the equity of Xianfeng Sante Tourism Development Co., Ltd. to form investment income1.US $ 3.2 billion. At the same time, due to the restructuring of a large number of projects under construction in Keqi, Chongyang and other projects at the end of 2018, depreciation has increased, and after the transfer, the company 's loan refund expenses in the reporting period are no longer capitalized, resulting in financial costsImprove and increase.According to the announcement, the financial cost of Sante Ropeway in 2019 is 1.07 billion, an increase of 21 per year.18%.In terms of products, in 2019, the main business of three special ropeway business ropeway operation income is 4.6.7 billion, an annual increase of 2.97%; ticket income from scenic spots in another important business segment.31 trillion US dollars, an annual increase of 15.65%.By region, the Guizhou market in 2019 contributed 2 to the special ropeway.Revenue of US $ 8.5 billion accounts for approximately 42% of total revenue.07%, an annual increase of 12.64%.Fanjingshan Travel Industry Co., Ltd. is the hero of Sante Ropeway's growth in Guizhou market.Because of the world natural heritage in the second half of 2018 and the award of 5A tourist attractions in Fanjing Mountain Scenic Area, the attraction for tourists continues to increase. In 2019, Fanjing Mountain Tourism Company received tourists143.560,000 person-times, operating income 2.8.7 billion, up 19.56% and 12.59%.In 2019, 8 of Sante Ropeway 's main subsidiaries achieved profit, with a total operating income of 60421.2 million yuan, an increase of 3 from the same period last year.97%; realized net profit 2.200 million yuan.In the construction period, the project subsidiary in the cultivation period realized a loss reduction of about 14.7 million yuan.The new coronary pneumonia epidemic has brought profound impacts and challenges to the domestic tourism industry.In response to changes in the tourism industry after the epidemic, Suntech Ropeway launched a series of plans, including strengthening the maintenance and operation of self-operated e-commerce platforms, continuing to advance the informationization of attractions, and developing from a single ticket product to a complex cultural tourism product system; Carry out asset sorting work and increase the asset scale, revenue scale and profit level of listed companies through mergers and acquisitions.Three special ropeway said that due to factors such as the epidemic, the industry expects that it will take some time to meet the market's recovery. During this period, by maintaining observation exposure, strengthening brands, and optimizing marketing channels, it will compete in the market after the epidemicTake the lead in the war.Sauna, Ye Wang Zheng Yijia Picture Sante Ropeway Official Website Screenshot Editor Li Zheng proofreading Li Ming
Author adminPosted on 07/18/2020 07/11/2020 Categories 按摩Tags 彩蝶杭州按摩养生会所, 杭州按摩精油, 杭州水疗价格, 杭州水磨按摩会所, 杭州龙凤论坛富阳, 浙江杭州龙凤妮妮
In the remaining 6 rounds, a piece of data shows how difficult it is for people and relegation
Renhe currently has only 12 points.Figure / club official Wei Xinjing News (Reporter Xu Xiaofan) Beijingers and tomorrow afternoon will usher in the 26th round of the Super League, the opponent is Tianjin TEDA.At present, Renhe only has 12 points, which is far from the safety score of relegation in previous years. Relegation is only theoretically possible.Fortunately, tomorrow's opponent Teda has relegated ahead of time, and the desire to win may not be as good as others.And in the past 12 clashes, Ren and 7 wins, 2 draws and 3 losses extended their advantages.Despite the slim hope of relegation, Louis still hopes that the players will play a good game tomorrow and find a way to achieve self-rescue.But how difficult is it to save yourself?A piece of data can explain the problem.In the Super League in the 9 seasons of the World Cup, almost all the teams that completed relegation scored 30 points. Only Nanchang Hengyuan succeeded in relegating with 29 points in the 2011 season, and this happened only once.Renhe currently has 12 points. Counting 6 games left to play in this round, they can only reach 30 points with only 6 wins.But the six opponents include Shanghai, Suning and other top five teams, which is almost an impossible task for Renhe.Judging from the current overall revenue, the two relegation teams will most likely be generated between Renhe, Jiazhaoye and Tianhai.Ranking the other two teams, one less game may be the only good thing for Renhe.In the next round, Renhe will directly compete with Tianhai. After that game, the relegation will become clearer.
Author adminPosted on 07/17/2020 07/11/2020 Categories 洗浴Tags 杭州夜生活龙凤, 杭州桑拿妃子阁, 杭州洗浴按摩服务, 杭州足丝会所怎么样, 杭州足疗机, 杭州高端全身spa
8 rounds saved in a single game, Fan Zhendong defeated Xu Xin and went straight to Busan
The national table tennis team's "12 strongest players on the surface-through to Busan" trial ended in Shenzhen tonight. Fan Zhendong won Zhou Qihao in a row and Xu Xin won the men's singles championship.Fan Zhendong went straight to the Busan World Table Tennis Championships.A total of 12 men's singles players participated in this shoot-through through the video screenshots. Zhou Qihao, Xu Xin and Fan Zhendong scored today's "Blood Battle" after two rounds of knockout.If a player wins two consecutive games, the game ends directly.If a candidate wins or loses, the three will add another round of 11 points.If it continues to fail to win or lose, then add another round of competition, the score starts from 5 to 5, 8 to 8, 10 to 10, until the championship is decided.In the first round of men's singles, Zhou Qihao defeated Xu Xin 4-1 after ousting the captain Malone in the last round.For the first time in the direct competition in about 2017, Zhou Qihao said that he has matured a lot, "I have experienced more and played more with the main force, so I have become more mature."."Zhou Qihao said that if he had higher demands on himself, he still wanted to hit the championship, but Fan Zhendong did not give him this opportunity."In the second round of the evening, Fan Zhendong played Zhou Qihao a 4 to 1.The third round was between Fan Zhendong and Xu Xin, and the competition was extremely fierce.In the fourth game, Fan Zhendong saved 8 points and beat Xu Xin 18-16, triggering the score to 2-2.After that, Fan Zhendong also took control of the rhythm on the field, and then played another two games 11-7, 11-5, thus eliminating Xu Xin 4-2. After winning two consecutive victories, he won the championship smoothly and got Busan for the first timeQualifications for the World Table Tennis Championships."I am very happy to get exercise and gain confidence, which is very helpful for myself in 2020."" Since October last year, Fan Zhendong has changed his tactical decline and won 11 championships in the 7 events he participated in recently. "Thank you for this opportunity to show yourself. Although it is a team game, it can overcome thisIt is very helpful for me to surpass the competition in international competitions."
Author adminPosted on 07/16/2020 07/11/2020 Categories awuzrgzvuTags 杭州spa上门服务, 杭州养生水疗会所, 杭州夜生活有什么好玩的, 杭州桑拿水疗会所, 杭州洗浴爽记
For the scene of Teng Zijing off-line in Qing Yu Nian, Wang Yang's face fell swollen
Not long ago, Teng Zijing in the hit drama "Qing Yu Nian" went offline, and the former brother-in-law Ji Yu of Luo Bin (Jin Dong) appeared in the TV series "Elite Lawyer" which was broadcast last week.Both of these roles are played by actor Wang Yang. Although they are quite different, "Teng Zijing is the most correct character in" Qing Yu Nian ". He is very wise and cute.But Ji Yu in "Elite Lawyer" is very emotional, with a soft heart and many crying scenes.The two roles with different personalities in the TV series "Qing Yu Nian" and the TV series "Elite Lawyer" both earned a lot of tears from the audience.A few days ago, in a special interview with Sauna and Yewang, Wang Yang copied it. When shooting the scene where Teng Zijing went off-line, he specially designed some details.He also hopes that the audience will remember these two characters while they are distressed, "When the" Qing Yu Nian "broadcast ends, everyone will recall it and think of Teng Zijing, even if I succeed.""Qing Yu Nian" Teng Zijing is too serious, but the hardest time to get the script, Wang Yang knew "Qing Yu Nian" is a good show.Both the producer and the opera boss Air Force have seen Wang Yang's work, and feel that he is very suitable for acting in Teng Zijing.In the original script, Teng Zijing's episode was offline after 11 episodes, and it was actually broadcast. He finally went offline after the plot developed to episode 13 due to editing.In the entire character line, 80% is his rival play with Fan Xian."My first feeling is that this person is not good at acting.It 's not that he 's not good, it 's because he was off the line too early, and his role is very positive."Wang Yang wondered how to make the audience remember this" good man "Teng Zijing who went offline early."First of all, he cannot be stupid."Teng Zijing's martial arts are high, he has a sense of justice, and his IQ is also online." Based on these, why can't he compete with Fan Xian in some ways?"Wang Yang doesn't want Teng Zijing to be just Fan Xian's bodyguard," then he becomes dispensable, and I hope to show his wisdom and cuteness through performances."The relationship between Teng Zijing and Fan Xian in" Qing Yu Nian "is more like a brother.When Teng Zijing and Fan Xian talked, it should be silent and faint, but every sentence could poke Fan Xian's pain point."In this way, the brotherhood of the two people can be more sincere and smarter, and the emotional setting can be established."Based on the lines written by the scriptwriter, Wang Yang also added his own way of processing." Sometimes, Fan Xian hasn't finished speaking the lines, so I started to say my lines.Sometimes in dialogue, I will leave blank for a long time to make the audience want to know what Teng Zijing is going to say. Through these technical means, people will be more impressed with Teng Zijing."The fall off the line, without any protection as Wang Yang wished, the role of Teng Zijing really impressed the audience. Netizens said that they couldn't accept it when they went offline.In fact, in the original book, Teng Zijing just broke a leg and did not die.Wang Yang said that he had never read the original work, but he thought it was the best place to change it."Fan Xian's follow-up is caused by Teng Zijing. The death of Teng Zijing is very important for Fan Xian's mental and spiritual growth."The off-line scene," is my favorite and the hardest scene.I only watched this episode when I opened the barrage, and I was overwhelmed and cried in full screen.Some netizens said, can the screenwriter write a scam for you?"In this scene, Wang Yang went to the scene 18 times before and after, sometimes staying there for a day, sometimes for a few hours.It was during the scorching heat, and the actors had to wear armor and fight with Waia, "but now it seems that everything is worth it."Wang Yang said that the drama was originally planned to have more than 20 minutes, but later for various reasons, it was only reserved for six or seven minutes," it would be regrettable, but fortunately left some memory points for the audience."Teng Zijing's last scene.At the end of the scene, Wang Yang also specially designed the details."Teng Zijing was uncomfortable for everyone off the assembly line. A large part of it was because of the last shot, Teng Zijing knelt down' 咣 ', then the whole body leaned forward heavily on the ground and rebounded."This shot was taken once, and Wang Yang did not have the power to control his body and protect it." After the scene was filmed, no one could see it, but my left face retina was swollen. Only I knew how painful it was.But I drew a perfect stop to this character."Life Events" Wang Yang, who still needed to "liberate nature" universities originally planned to study abroad, still applied for the idea of retrying because of the visa rejection, and was admitted with the third grade of the professional course.In the first few years, Wang Yang has been in a state of groping professionally. "I am not good at liberating my nature now. When there are many people, I am still willing to retreat. I can't do animal simulation all the time. I am particularly uncomfortable in this short time."Artists provided pictures until the third year, and a teacher who came back from abroad directed the drama" Abalone "for them."Choosing me to play in group A means that at least in his eyes, professional level should play in group A. I have a certain degree of confidence."After graduation, Wang Yang was admitted to Beijing Arts," At that moment, I insisted that it might really be the way to go."In 2008, he played the Qing Dynasty drama" Shangshufang "with Yuan Hong and Yang Mi, and also starred in the urban drama" Snow Burning ", which has accumulated a certain popularity for him." Up to now, some people are watching thisTwo works."Qing Yu Nian" has also become one of the most talked about works in Wang Yang's works, "Although there are not many plays, it is considered a representative work.""Now when I go out, everyone knows that I am Wang Yang, or call me Teng Zijing."Although there has been no big reds and big purples, Wang Yang feels that his journey has been smooth." Many people who are better than me and more professional than me are not so lucky. I started acting since graduation. There are three of the first six dramas.It is male number one, and the third part is male number two."He did not shy away, hoping to have a day of fame," after becoming famous, the most important thing is to have better resource allocation, and can win better roles and works.There is no such thing as fairness or injustice, this is the market."Sauna, Ye net Zhang Kunyu artist photo editor Wu Dongni proofread Zhao Lin
Author adminPosted on 07/15/2020 07/11/2020 Categories emjfyfzntTags 杭州夜生活杭州百花坊, 杭州家庭式spa, 杭州怎么联系校内鸡, 杭州桑拿体验, 杭州桑拿按摩网, 杭州油压按摩哪家好, 杭州足浴按摩会所, 杭州足疗店最多的地方
Yi Shu Golden Years Chen Daoming Dong Zijian joined, Liu Shishi Ni Ni or act as girlfriends
On April 29, the TV series "Golden Years" officially announced the list of actors.The play is the director of "My First Half" Shen Yan, and screenwriter Qin Wen's cooperation again, led by Chen Daoming, Dong Zijian, Liu Shishi, Ni Ni, actor Tian Yu, Yang Youning, Yang Yue (in alphabetical order of surname), becomesOfficially started on the 29th.According to the plot, Liu Shishi and Ni Ni will play a pair of girlfriends who share the same hardship and support each other in the play."Golden Years" was adapted from Yishu's novel of the same name. According to the summary of the content recorded in the TV drama filming of the State Administration of Radio, Film and Television, the plot tells the story of Shanghai in the 1990s. Zhu Suosuo and Jiang Nansun have different family backgrounds and different personalities, but they are also beautiful and smart.When he was young, the family life of the locks was not good. The Nansun family accepted them and helped the locks, so these formed a deep friendship.After entering the society, Zhu Suosuo was ups and downs in the workplace, and developed quickly with his ingenuity and excellent conditions. Jiang Nansun continued to pursue academics and talked about love and became more intellectual.Later, when the Jiang family fell into distress, Zhu Suosuo helped Nan Sun get out of the campus to provide him with accommodation and work. Jiang Nan Sun also gradually became an excellent white-collar lady through hard work and knowledge.Zhu Suosuo married, seemingly beautiful, but the marriage was not recognized by her husband's family. When the red light of the husband and wife relationship was lighted, Jiang Nansun helped her take care of the children and cook her life until Zhu Suosuo had the courage to get out of the predicament.Personnel are vicissitudes and the years are ruthless. They have tasted the taste of life, but they support each other and share the same hardships. They not only manage their lives in a colorful manner, but also become the most mature women, each with their own golden years.Sauna, Ye Wang Zhang He editor Tong Na proofreading Liu Jun
Author adminPosted on 07/14/2020 07/11/2020 Categories sqemtykmTags 杭州水疗会所验证, 杭州洗浴中心多少钱, 杭州洗浴按摩中心, 杭州洗浴服务好, 杭州男士spa推荐
2015 Australia Asian Cup referee group list announced no Chinese referees
Sina Sports is said to have learned exclusively that the AFC internally announced the list of enforcement referees for the 2015 Australian Asian Cup.Surprisingly, none of the 42 referees came from China.This also allows the outside world to soberly admit that the future of Chinese referees and Chinese football is still long.There will be no Chinese referees in the Asian Cup. The AFC has announced 11 sets of referees and 3 sets of substitute referees for the 32 games of the Asian Cup of law enforcement. They are from the host championship, Uzbekistan, Saudi Arabia, Bahrain, Oman and Qatar., UAE, Japan, Korea, Malaysia, Iran, Sri Lanka, Singapore and Hong Kong.Among them are old acquaintances of Chinese football, like AFC Golden Whistle Uzbek Irmatov, old friends Benjamin and Kim Dongjin, and of course some unforgettable enemies, like this year's AFC Western Sydney and Evergrande quarterIn the final, Zhang Linpeng and Gao Lin were sent off consecutively, and Lippi was ejected from the UAE referee Muhammad Abdullah Hassan, who will lead the UAE referee team to enforce the Asian Cup. The selection of the AFC referee for the Asian Cup is first considering the law enforcement record of the domestic league. In the past two years, the number of law enforcement games will reach 10 to 15; the second is the law enforcement level of the Asian scale game; the last is to look atThe performance of the AFC referee learning class.The Asian Football Association recently held an Asian Cup referee selection class in Kuala Lumpur. At that time, there was no Chinese referee participating, so it is natural that the Chinese referee will eventually disappear from the Asian Cup. In the 2011 Qatar Asian Cup, there was no main referee from China to enforce the law, but assistant referee Mu Yuxin participated in the enforcement work as the only Chinese representative.(Liu Feng)
Author adminPosted on 07/13/2020 07/11/2020 Categories 桑拿Tags 杭州夜生活哪里泡妹子, 杭州夜生活论坛419, 杭州桑拿群, 杭州滨江kb, 杭州男士美容会所, 杭州足疗一条街在哪里
2014 World Cup Netherlands vs Victoria score prediction history record analysis who will win
Netherlands vs Australia score prediction analysis: The Netherlands won the game 2-0, 3-0 or 4-1 on June 19, 2014. Update Netherlands vs Australia results: Australia 2-3 Netherlands 2014 World Cup Netherlands vs Australia Who will win? The first match of the 2014 World Cup Group B Netherlands-Australia match will be played at the Bellario Stadium in Porto Alegre at 3 am Beijing time on June 19th. The Dutch team in the first round of the victory over Spain ushered in this group of fishThe United States, the Netherlands, which will heavily honor the 433 formation, will strive for a winning streak. For the first time in history, it defeated the championship. Whether it is possible to break the other side's "bus" as soon as possible is the key.2014 World Cup Dutch vs Sydney score prediction historical record analysis who will win the 2014 World Cup Group B group match first game Netherlands VS Australia who will win the 2014 World Cup Dutch and champion teams gap comparison 2014 Brazil World Cup Netherlands team starting goal Orange Juice Team 11List of the National People's Congress 2014 World Cup Football Team National Team Finals The latest 23-man list (picture) Netherlands vs Sydney two teams start prediction Netherlands (433): 1- Hillesson; 5- Blinder, 2-Flar, 4-inDee, 7-Yanmat; 6-De Jong, 10-Sneijder, 20-Vinaldum; 9-Van Percy, 17-Rens, 11-Robben Ford (433): 1-Ryan/ 2-Frankic, 6-Spiranovic, 22-Wilkinson, 3-Davidson; 23-Bresciano, 5-Miligan, 15-Yedinac; 11-Or, 4-Cahill, 7-Lekie Netherlands vs Australia history confrontation record Australia has unbeaten in 3 games. The two teams have played a total of 3 times, all of them are friendly matches. Sweden, which has obvious strength, has remained undefeated with 2 draws and 1 win. It scored 3 goals.Throw 2 goals.The most recent confrontation between the two teams was in October 2009, after a 90-minute fierce battle in Sydney.However, the early days of the two teams are no longer what they were at that time. Only Sneijder, Van Persie and Kuyt have experienced confrontation with Australia on the Dutch side. Among the Australian teams are Schwarzer, Neal, Emerton and Kurina.The golden generation members such as Kewell and Kennedy have retired or faded out, leaving only Cahill and Bresciano two abandoned old men.The previous World Cup results in the Netherlands The Netherlands team is known as the uncrowned king of the World Cup, because they reached the World Cup finals three times, but all lost. In the World Cup in Italy under the shadow of the Nazis, the Netherlands played only one game, and the results were not important. In the context of the war, football has been given other definitions. Expedition to France, the Netherlands still played only one game, and then the soy sauce was out. The World Cup in 1974 belonged to the Dutch-except for the championship.The Netherlands won two draws and one draw in the group stage to advance to the semi-finals. In the semi-finals, they won three matches in three matches: they swept South American powerhouses Argentina 4-0, 2-0 against the former East Germany, and 2-0 against Brazil.In the final, the opponent of the Netherlands team, former West Germany, opened the game only 1 minute. Cruyff scored the ball and was scored. The Neskens penalty kick hit the Netherlands 1-0 and the German team scored in the first half.With Bretner's penalty and the "bomber" Ged Muller's goal, the score was overtaken, and eventually the Netherlands changed to score again. They lost to the German team 1-2 in their first World Cup final.runner up. Despite the poor performance in the group stage, the Dutch team, which only achieved 1 win, 1 draw and 1 loss, was lucky to qualify from the group and rank in the rematch.In the semi-finals, the Dutch team defeated Austria and drew Germany. In the crucial final game, they defeated the Italian team with Tiemenzov and Golden Boy Rossi with the stunning shot of Arihan and entered the finals again.The Netherlands met the host again in the final. The game was dragged into overtime. Argentina's Kempes and Bettoni scored two goals. The Netherlands had to lose two consecutive cups. Under the leadership of the "Three Dutch Musketeers" and other stars, the Dutch team made a qualifier in the World Cup qualifiers, but in the final round of the group stage, they barely qualified in three games and three draws. In the 1/8 final they lost to the German team that later won the championshipWas eliminated. In the 1994 World Cup in the United States, only Rijkaard was still fighting among the three Musketeers.The Dutch group stage 2 wins and 1 loss qualifying, 1/8 final goals Bergkamp and Jonker helped them beat Ireland 2-0 to advance to the quarterfinals; 1/4 finals, the Netherlands and Brazil staged a gameIn the classic game, the goals of Romagnio and Bebeto gave Brazil a 2-0 lead. The Dutch team was then evenly scored by Bogkamp and Winter. At the last moment, Brazil's left-back Blanco made a brilliant move.A free kick has mercilessly entered the dead end of the Dutch team's gate.The Brazilian team subsequently won the cup. In the 1998 World Cup in France, the Netherlands further advanced to the semifinals.In the quarter-finals, they defeated Argentina in the classic lore of Bergkamp. In the semi-finals, the Netherlands lost to the suffering Brazil again in the penalty shootout and missed the final.In the third or fourth finals, the Dutch team was unwilling to play. They lost to the colony 1 to 2 and finished fourth. Van Basten became the head coach of the national team. He led the Dutch team to qualify for the group, but in the 1/8 final they lost to Portugal 0 to 1 and missed the quarterfinals. Kuyt missed many times. Van der VaartComing off the bench, Fanny was abandoned because of his discord with the coach. In the group stage, the Netherlands won in three games and advanced to 2-1. They won the match 2-1 in the 1/8 finals. In the quarter-finals, they eliminated the World Cup champion Brazil 2-1. In the semifinals, the Netherlands used Van Bronckhorst., Sneijder and Robben's budget won 3-2, and reached the World Cup final again after 32 years.In the end, Spain experienced an overtime hard battle to defeat the Netherlands 1-0 and won the World Cup for the first time in history.Robben missed a single shot, and Iniesta seized the opportunity to score a lore at the end of overtime. The Oranges may only be out of luck.This is a 10-year World Cup match. The team lost 0:2 to the East German team, then lost to the host West Germany with a 0:3 score. The last game was against Chile.The team ended up with 1 draw and 2 losses.The Americans' World Cup players' goals were made up of supplementary players at the time and could not compete with powerful professional players. The United States and Brazil, Japan, and Iraq are divided into the same group, and the task of qualifying is arduous.In the 80th minute of the first game, the Kangaroos trailed 0-2, and in the last eight minutes of the second half, Australia scored three goals in a row. The amazing coach Hiddink who replaced multiple forwards once again proved his ability.After losing to Brazil's flat beach, Australia lost 0-1 to Italy in the first round of the group stage and the knockout round. The penalty kick before the end became a classic talk. Faced with the young and powerful strong team Germany in the first game, the old Australia defeated 0-4, and the core of the team Cahill was also sent off by the referee for a penalty.The shameless Kangaroos tied Ghana 1-1 in the next two games and won Serbia 2-1, but they missed the knockout because of their poor goal difference.Recommended reading: 2014 World Cup Spain VS Chile score prediction historical record analysis who will win 2014 World Cup Cameroon VS Croatia score prediction historical record analysis who will win
Author adminPosted on 07/12/2020 07/11/2020 Categories 新闻Tags 杭州品茶靠谱, 杭州夜网桑拿按摩论坛, 杭州水疗哪里好玩, 杭州洗浴全套经历, 杭州洗浴桑拿小姐服务, 杭州爱情故事spa正规么


text:
Die Liste der Stolpersteine in Hamburg-Eppendorf enthält alle Stolpersteine, die im Rahmen des gleichnamigen Kunst-Projekts von Gunter Demnig in Hamburg-Eppendorf verlegt wurden. Mit ihnen soll Opfern des Nationalsozialismus gedacht werden, die in Hamburg-Eppendorf lebten und wirkten.

Diese Seite ist Teil der Liste der Stolpersteine in Hamburg, da diese mit insgesamt  Steinen zu groß würde und deshalb je Stadtteil, in dem Steine verlegt wurden, eine eigene Seite angelegt wurde.

Weblinks

 stolpersteine.eu

Einzelnachweise

!
Eppendorf
Stolpersteine Hamburg Eppendorf

redpajama_set_name: RedPajamaWikipedia