Wikis are excellent tools for collaboration. When wikis are used students learn to collect and share information as well as publish and negotiate.
I agree with the first statement, but the second appears to confuse the tool with how it is used. It seems to suggest that the learning identified will happen because a wiki is used. That's not the case – it's the collaborative activities the teacher sets up based around a wiki that will (if successful) enable students to learn to 'collect and share information as well as publish and negotiate'.
Use of a wiki does not automatically lead to learning to collaborate. Likewise, not using a wiki does not prevent such learning from occurring: other tools such as Google Docs can be used in learning to collaborate. So it's how the tool is used that leads to the desired learning.
As I've described elsewhere, wikis are useful for more than just collaboration: they are also a very useful tool for non-collaborative learning such as personal reflection. So the thoughtful application of the tool is crucial to achieving success. Those of us working in professional development in education have seen poorly-planned incorporation of wikis and other technology tools lead to disappointment and disillusionment.
The use of a wiki as a learning tool within a course is more complex than a straightforward collaboration between a small group of co-workers working on a shared project. So how the wiki is applied in the learning context requires more careful planning. If this were not so, learning design would cease to be a productive activity, and solving the technical issues of incorporating a wiki and training teachers and students in its use would be all that's required. The limited uptake of tools such as wikis in education suggests this is not the case.
This entry was posted in Tools and tagged collaboration, learning, learning design, Professional development, wiki, wiki in education on April 14, 2009 by Paul Left.


text:
Q: Return a spilled range from a cell to the last non-empty cell below it I have a worksheet as follows.
I'm looking for a formula at E4 that

*

*contains D5 (to specify from where the returned spilled range starts)

*returns a spilled range that starts from D5 and ends at the last non-empty cell below D5, which is G given the current input.

Does anyone know how to achieve this?

A: For mixed datatypes, try:
=D5:INDEX(D:D,MAX(MATCH(CHOOSE({1,2},99^99,"ω"),D:D)))&""
which will be many times faster than something such as
D5:INDEX(D:D,AGGREGATE(14,7,ROW(D:D)/(D:D<>""),1))&""
the latter being forced to iterate over more than 2 millions cells, even if there is only data as far as row 100, for example.

A: In E4:
=D5:INDEX(D:D,MATCH("zzz",D:D))&""

With Office 365 and XLOOKUP:
=D5:XLOOKUP("*",D:D,D:D,"",2,-1)&""

The two above will find any cell that returns an empty string "".  So if in D14, there is ="" both above will include through D14.
If that is undesirable we can use this formula, that works for any Excel since 2010:
=D5:INDEX(D:D,AGGREGATE(14,7,ROW(D:D)/(D:D<>""),1))&""

One note is that this will be slightly slower than either of the above methods.

redpajama_set_name: RedPajamaStackExchange


Ahuja, N. et al., The adenylate cyclase toxins., Critical Revs Microbiol., 30, 187-196 (2004).
Cooper, D.M., Regulaton and organization of adenylyl cyclase and cAMP., Biochem. J., 375 (Pt. 3), 517-529 (2003).
Désaubry, L. et al., Inhibition of adenylyl cyclase by a family of newly synthesized adenine nucleoside 3'-polyphosphates suggests new regulatory pathways., J. Biol. Chem., 271, 14028-14034 (1996).
Dessauer, C.W., et al., The interactions of adenylate cyclases with P-site inhibitors., Trends Pharmacol. Sci., 20, 205-210 (1999).
Dessauer, CW., Adenylyl cyclase--A-kinase anchoring protein complexes: the next dimension in cAMP signaling., Mol Pharmacol., 76, 935-941 (2009).
Gille, A., et al., Differential inhibition of adenylyl cyclase isoforms and soluble guanylyl cylcase by purine and pyrimidine nucleotides., J. Biol. Chem., 279, 19955-19969 (2004).
Hanoune, J. and Defer, N., Regulation and role of adenylyl cyclase isoforms., Ann. Rev. Pharmacol. Toxicol., 41, 145-174 (2001).
Laux, W.H.G., et al., Pro-nucleotide inhibitors of adenylyl cyclase in intact cells., J. Biol. Chem,. 279, 13317-13332 (2004).
Pierre, S., et al., Capturing adenylyl cyclases as potential drug targets., Nat Rev Drug Discov., 8, 321-335 (2009).
Rodbell, M., et al., The glucagon-sensitive adenyl cyclase system in plasma membranes of rat liver. V. An obligatory role of guanyl nucleotides in glucagons action., J. Biol. Chem., 246, 1877-1882 (1971).
Sassone-corsi, P., The cyclic AMP pathway., Cold Spring Harb Perspect Biol., 4 (2012).
Sunahara, R.K. et al., Complexity and diversity of mammalian adenylyl cyclases., Ann. Rev. Pharmacol. Toxicol., 36, 461-480 (1996).
Sutherland, E.W., et al., Adenyl cyclase: I. Distribution, preparation, and properties., J. Biol. Chem., 237, 1220-1227 (1962).
Tesmer, J.J.G., et al., Crystal structure of the catalytic domains of adenylyl cyclase in a complex with Gsα•GTPγS., Science, 278, 1907-1916 (1997).
Zhuo, M., Targeting neuronal adenylyl cyclase for the treatment of chronic pain., Drug Discov Today., 17, 573-582 (2012).
Zippin, J.H., et al., CO2/HCO3– -responsive soluble adenylyl cyclase as a putative metabolic sensor., Trends Endocrinol. Metabol., 12, 366-370 (2001).


WayedComfy - Interior Styling Tips for Your Wayed Comfy Sofa & Sofa Beds!
home > Blog > Interior Styling Tips for Your Wayed Comfy Sofa & Sofa Beds!
Interior Styling Tips for Your Wayed Comfy Sofa & Sofa Beds!
Floor plans are useful to help you design and decide on the furniture layout that you wish to have. It will enable you to envision the measurements, fittings, and furnishings (e.g.: where you wish to place your sofa bed). It will also help you visualize a bigger picture of your designated living space. Once you have developed your floor plan, you can proceed with adding the finishing touches to your interior.
Now that your floor plan is ready, you can begin with deciding on how to place your sofa beds, couches, chairs etc. Given that sofas are one of the major pieces of furniture in a living room, it is key to identify which sofa best suits your living space. Scrutinize your room's layout, style, and décor to be able to accurately decide on the shape and size of the sofa you wish to have.
Whether it is the colour of your sofa, sofa bed, cushions, or home accents, it will surely play a significant role in the mood, ambiance, and style you are trying to achieve. You need to always ensure that you are creating harmony in the colour scheme you wish to choose. At Wayed Comfy, we cater for all the fabrics and colours you wish to have. Our sofa beds are enriched with smooth and high-quality fabrics, and are available in 4 different colours (Blue, Pink, Green, and Purple) to complement your exclusive home setting.
At Wayed Comfy, we help you fuse and combine various colours to achieve your desired style. From bold and vibrant colours to calm and soothing colour palettes, we provide you with the perfect accessory to complement your taste and hues.
Once you've settled on the colour schemes and fabrics, uplift your living space with our customized Wayed Comfy sofas and sofa beds. At Wayed Comfy, we provide you with the ultimate home accessory that will match your interior, provide you with comfort, and constantly catch your eye.
Our Wayed Comfy sofa beds can easily recline to your favourite sitting position, which makes them the ultimate and comfortable choice for your afternoon naps, cozy nights in, and intimate gatherings. Whether you decide to place it in the living room, guests' room, bedroom, or recreation room, your Wayed Comfy accessory will surely blend in and enhance the overall setting of the room.
'Work from home' made better with WayedComfy!
Purchase your latest Wayed Comfy accessory at ease!
COPYRIGHT © 2019 WAYEDCOMFY. ALL RIGHTS RESERVED.


text:
import _typeof from "@babel/runtime/helpers/esm/typeof";
import React from 'react';
import PropTypes from 'prop-types';
import { ThemeProvider as MuiThemeProvider } from '@material-ui/styles';
import { exactProp } from '@material-ui/utils';
import { ThemeContext as StyledEngineThemeContext } from '@material-ui/styled-engine';
import useTheme from './useTheme';

function InnerThemeProvider(props) {
  var theme = useTheme();
  return /*#__PURE__*/React.createElement(StyledEngineThemeContext.Provider, {
    value: _typeof(theme) === 'object' ? theme : {}
  }, props.children);
}

process.env.NODE_ENV !== "production" ? InnerThemeProvider.propTypes = {
  /**
   * Your component tree.
   */
  children: PropTypes.node
} : void 0;
/**
 * This component makes the `theme` available down the React tree.
 * It should preferably be used at **the root of your component tree**.
 */

function ThemeProvider(props) {
  var children = props.children,
      localTheme = props.theme;
  return /*#__PURE__*/React.createElement(MuiThemeProvider, {
    theme: localTheme
  }, /*#__PURE__*/React.createElement(InnerThemeProvider, null, children));
}

process.env.NODE_ENV !== "production" ? ThemeProvider.propTypes = {
  /**
   * Your component tree.
   */
  children: PropTypes.node,

  /**
   * A theme object. You can provide a function to extend the outer theme.
   */
  theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired
} : void 0;

if (process.env.NODE_ENV !== 'production') {
  process.env.NODE_ENV !== "production" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;
}

export default ThemeProvider;

redpajama_set_name: RedPajamaGithub


We are dedicated to providing survivors of childhood trauma with access to, and funding for, therapeutic and inpatient care; while creating professional and public awareness for Complex PTSD.
Until recently, Complex PTSD and Dissociative Trauma Disorders were thought to be rare mental health conditions. This fallacy created a shortage of specialized therapists and an ever-growing population of forgotten patients. Beauty After Bruises seeks to bridge that gap by providing comprehensive education to clinicians and the public, while connecting survivors to the resources they need.
Learn more about C-PTSD, why survivors need your help, and the board members behind our mission.
You can make a difference by making a donation, attending an event, volunteering your time, or becoming a sponsor.


text:
The South Florida Morning Show
Joyce Kaufman
Michael Knowles
WPTV News at 6:00
Jen & Bill's Rapid Fire with Karen Curtis
The Joyce Kaufman Show
Full Rigor
The Cool Dad Rules
By Shirenna Edmonson | November 23, 2020
Man shoots brother in the head after he said he wanted to die
Alachua County Jail
A 34-year-old Florida man has been arrested after he shot his brother in the head because his brother allegedly told him that he wanted to die.
The incident occurred on Saturday around 7:00 pm in Gainesville.
According to the report, the victim told his brother Robert Brown, and his roommate that he no longer wished to live.
Authorities say that's when Brown took out a gun and shot the victim in the head.
The victim was then rushed to UF Health Shands with life-threatening injuries where he later died.
Brown admitted to firing the gun but said he fired the weapon to scare his brother and realized his mistake when he saw his brother's head go back.
Brown has since been charged with aggravated battery with a deadly weapon. He remains in jail on a $750,000 bond.
Man accused of kidnapping Pembroke Pines teen arrested in Virginia
Buccaneers reach conference championship in Tom Brady's first season in NFC
Moving trucks arrive at President Donald Trump's Mar-a-Lago club on Palm Beach
Murderer and musical magician Phil Spector dies at 81
Can Brady and the Bucs make it to the Super Bowl?
Pubic Inspection File

redpajama_set_name: RedPajamaCommonCrawl


Valeria Di Caro, Jan Theeuwes, Chiara Della Libera; Suppression history of spatial locations biases attentional and oculomotor control. Journal of Vision 2018;18(10):477. doi: 10.1167/18.10.477.
The ability to attend to what is relevant in our visual field requires to overcome the interference exerted by salient-but irrelevant stimuli. Attentional processing can be shaped by experience gained in the past, so that statistical regularities and learned associations can influence attentional selection, by enhancing the processing of stimuli and locations frequently associated with task-relevant information. The present study investigated how attentional and oculomotor capture can be influenced by learned statistical regularities, focusing in particular on the spatial probability of salient but irrelevant distractors. For this purpose, we used a variant of the additional singleton paradigm in which participants had to attend to a colour singleton target, within a visual array of 6 items. Unbeknown to participants, in a predefined proportion of trials, a salient onset distractor was also presented in the display, appearing with different probabilities in one of six possible locations: 2 locations were occupied by the salient onset with High Frequency (HF; 76% of the distractor present trials), while the remaining 4 were occupied by the salient onset with an overall Low Frequency (LF; 24%). Both manual response times and eye-movements were recorded. We found that although manual RTs were significantly slower in distractor present trials, this interference was strongly modulated by distractor location, showing a reduced performance cost when the distractor appeared at HF locations. Consistently, distractors in HF locations led to less powerful oculomotor capture compared to those appearing at LF locations and, under these conditions, the first saccades were more often directed toward the target. These findings suggest that the statistical spatial regularities associated with the attentional filtering of salient distractors modulate attentional and oculomotor performance, reducing the attentional priority of spatial locations that have been systematically associated with distracting events.


Also serving communities of Herndon, Ashburn.
There are 8 Nursing Homes in the Sterling area, with 2 in Sterling and 6 nearby.
To help you with your search, browse the 18 reviews below for nursing homes in Sterling. On average, consumers rate nursing homes in Sterling 4.5 out of 5 stars.


Wendy Williams is notorious for her blunt opinions, and now she's very bluntly telling Stormy Daniels to "go away."
During a segment on her self-titled talk show, Williams directly addressed the adult film star who confessed to having an affair with Donald Trump more than a decade ago.
"This Stormy can go away as far as I'm concerned," Williams said, as reported by Hollywood Life. "You know, she's got a few more miles left on her face where she could be at the hoedown."
"The strip clubs love featured performers, so she could be a featured performer at seven strip clubs across the country just on the basis of Stormy Daniels. But, she can go away," the 53-year-old added.
Not content at leaving it there, Williams also took aim at Aubrey O'Day, who allegedly had an affair with Donald Trump Jr. between 2011 and 2012.
A producer then corrected her and explained that O'Day is actually 35, to which the audience erupted into laughter at.
"I don't mean that in a bad way, she looks better than Stormy Daniels! Sorry Aubrey, but you could pass for a woman in her 40's," Williams continued.
"But, guess what Aubrey, and I do believe you, even when this guy divorces his wife, he's not going to come back and be with you, even for a one night stand. You are going to be the most watched person, if you're not right now, on the face of the earth, in terms of staying away from the son… This guy is never going to marry you anyway," Williams concluded.
Ironically, Williams is said to have been dealing with marriage pressures in the "public eye" herself, as it was rumored in 2017 that her husband had been having an affair with a 32-year-old masseuse named Sharina Hudson.
It was even rumored that Hudson may be pregnant. Sources close to Williams reportedly said that the whole situation has taken a major emotional toll on the host, and that the stress of it all could even be the real reason for why she passed out on live television last year.


New KSP Recruitment 2018-19 Notification announced. Karnataka State Police (KSP) has 19 amazing openings. As per the notice, the Organization has Vacancies for Sub Inspector SI (Intelligence) posts. Interested aspirants may apply for KSP Recruitment 208-19 only through Online mode. However, application process starts from 25-05-2018 and ends on 15-06-2018. so, all job seekers must apply before the deadline and be a part of KSP Jobs 2018. Furthermore, details of eligibility criteria, application fee, age limit, pay scale and others are mentioned below. However, you can also visit @ www.ksp.gov.in and careers99.com to know more about KSP Vacancy 2018 details.
KSP Recruitment 2018 – Apply Online for Sub Inspector SI (Intelligence) Posts: Karnataka State Police (KSP) has advertised a notification for the recruitment of 19 posts of Sub Inspector SI (Intelligence) vacancies. Eligible candidates can apply online from 25-05-2018 to 15-06-2018. Other details like age limit, educational qualification, selection process & how to apply for KSP Jobs are given below.
Selected candidates will get Rs. 20000 – 36300/- Per month by the Recruiting Organization.
Selection of Candidates for Sub Inspector SI (Intelligence) posts will be done as per following stages- Eligible candidates will be selected on the basis of performance in Written Exam, ET & PST, and Viva Voce.
GM/OBC (2A,2B,3A,3B) Category candidates have to pay Rs. 250/-.
SC/ST/CAT-I Category candidates have to pay Rs. 100/-.
First of all, Open Official Website i.e., www.ksp.gov.in or Below Mentioned link from careers99.com Website.


If you are looking for a large size gaming mouse pad to accommodate both your keyboard and mouse, then here are some suggestions, which are most popular and cost-effective.
Redgear MP80 Extended Mouse Pad is available in two variants, one is Speed type which offers silky smooth movement, and another one is Control type whose surface is rough / textured. Both gaming mouse pads are compatible with every kind of gaming mice.
The only difference is design pattern; otherwise, both are same.
Spigen Regnum A103 speed edition is built for fast-paced action games, MOBA, RTS and RPG's. It is made from soft fabric with textured rubber base.
Havit HV-MP830 is another large mousepad (900 x 300 x 3 mm) with a smooth, silky surface for fast gliding, stitched edges for maximum durability and anti-skid rubber base for extra grip.


New research shows school disciplinary rates have dropped in Utah, but racial minorities are still impacted disproportionately. Vanessa Walsh, a 2016 S.J. Quinney College of Law graduate now employed with Salt Lake County's Criminal Justice Advisory Council, teamed up with Lincoln Nehring, director of the S.J. Quinney College of Law's Public Policy Clinic and CEO of Voices for Utah Children, to explore how trends have shifted in school discipline since the publication of the earlier reports. Plus, Jim Bennett on how to start a party—the new United Utah Party. Hosts: Lara Jones and Jim Boswell.
Don't forget, your public comments on Bears Ears are due before May 26 in the first-ever review of national monuments. For a quick online link, CLICK HERE.


text:
Marlowe plc's acquisition of DCUK FM best the Company has ever made
The boss of fire and water safety specialist Marlowe plc says July 2017 acquisition of Ductclean (UK) Ltd is the best acquisition the company has ever made.
Chief executive Alex Dacre says the ventilation maintenance industry has better growth prospects than fire and water because many companies don't realise they need to do it in order to meet safety legislations.
Dacre says Marlowe has already managed to cross sell ventilation maintenance services to existing fire and water companies including Bourne Leisure which operates the Haven and Butlins holiday parks.
Marlowe's half year results on 11 December 2017 showed a 90% rise in pre-tax profit before one-off items to £2.4m and 104% hike in revenue to £36m, boosted by acquisitions.
Dacre reckons the group achieved 3.5% to 4% organic revenue growth.
The water treatment and air hygiene division has seen a 4% rise in operating margins following four acquisitions. The fire services division hasn't seen uplift in margin yet as it is still building route density and scale, says Dacre.
To read the article, or similar news on stocks/funds/investment trusts/pensions and savings, please click here: www.sharesmagazine.co.uk/article/essential-services-group-marlowe-toasts-new-growth-avenue


European style bracelets are bracelets that have a chain, cord, leather or other material as the center core. Large hole beads and bead like charms are threaded onto the bracelet and they can slide back and forth. We like to call them slider bead bracelets because of this.


text:
Papa Owusu Ankomah returns to Ghana after diplomatic service in UK, Ireland
byCiti Newsroom
The High Commissioner, His Excellency Papa Owusu-Ankomah, his spouse, the deputy High Commissioner, Mrs Rita Tani Iddi and Staff of the Ghana High Commission, London.
Ghana's High Commissioner to the United Kingdom and Ireland, Papa Owusu Ankomah returns to the country on Saturday September 26, 2020 after nearly four years of service in that country as Ghana's envoy.
A note from his office said Mr, Owusu Ankomah has duly informed the diplomatic community in the UK of his departure and was officially bid farewell by members of the community.
"Owing to the COVID-19 pandemic, he granted audience to most of the diplomatic corps virtually. The Marshal of the Diplomatic Corps, Alistair Harrison CMG CVO, called on His Excellency Owusu-Ankomah to bid him farewell and used the opportunity to present to the High Commissioner a parting gift from the Queen, which was a picture of the Queen and Prince Philip, the Duke of Edinburgh."
"He had warm words of inspiration for the High Commissioner of deepened relations between Ghana and the United Kingdom and the excellent work undertaken by the High Commissioner. He also wished the High Commissioner well in his future endeavours," the note said.
The Marshal of the Diplomatic Corps, Alistair Harrison (presenting a parting gift from Her Majesty Queen Elizabeth) and His Excellency Papa Owusu-Ankomah.
Papa Owusu-Ankomah also called on the Minister for Africa of the United Kingdom, Mr. James Dundridge, who represented the Secretary of State for Foreign, Commonwealth and Development Affairs, Rt. Hon. Dominic Raab.
Minister James Duddridge recalled the excellent relations that exist between Ghana and the U.K. which most recently, had enjoyed further boost due to the effective and prominent role that the High Commissioner played during his tenure.
The Minister recalled the participation of the President of Ghana at the Commonwealth Heads of Government Meeting (CHOGM), and the UK-Africa Summit both held in London in April 2018 and January 2020, respectively and expressed profound gratitude to the High Commissioner for institutionalising his good works based on a rich experience which had led to uncountable highlights of his stay in the U.K.
The Minister for Africa, Mr. James Dundridge, Adam Afriyie
MP & Trade envoy for Ghana, Commonwealth and Development Office, and the High Commissioner together with the Head of Chancery, Mrs Matilda A. Osei-Agyeman during the farewell meeting.
Other persons Papa Owusu Ankomah engaged are the Secretary -General for the Commonwealth family, Rt.Hon. Patricia Scotland, the Secretary-General of the International Maritime Organisation, Mr. Kitack Lim, the Dean of the Diplomatic Corps, His Excellency Khaled Abdulaziz Al-Duwaisan GCVO, and the Dean of the African Diplomatic Corps, His Excellency Estifanos Habtemariam Ghebreyesus.
Papa Owusu-Ankomah, is proceeding on leave prior to the end of his duty tour on 30th November, 2020.
We knew about Western Togolanders' plans, stopped worse from happening – Letsa
Police must probe attack on traditional leader in C/R – Ofaakor Traditional Council
COVID-19: Oxford-AstraZeneca vaccine rollout to begin in UK
COVID-19: Oxford-AstraZeneca vaccine approved for use in UK
UK has two cases of variant linked to South Africa
COVID-19: Flights from UK will be canceled if necessary – Oppong Nkrumah
Withdraw from Agyapa deal – Transparency International urges UK financial firms
Coronavirus: EU urges countries to lift UK travel bans
Police must probe attack on traditional leader in C/R - Ofaakor Traditional Council


text:
package co.com.xoftix.paginacionxoftix;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.apache.ibatis.session.RowBounds;

/**
 *  分页查询对象
 *  @author badqiu
 *  @author hunhun
 *  @author miemiedev
 */
public class PageBounds extends RowBounds implements Serializable {
    private static final long serialVersionUID = -6414350656252331011L;
    public final static int NO_PAGE = 1;
    /** 页号 */
    protected int page = NO_PAGE;
    /** 分页大小 */
    protected int limit = NO_ROW_LIMIT;
    /** 分页排序信息 */
    protected List<Order> orders = new ArrayList<Order>();
    /** 结果集是否包含TotalCount */
    protected boolean containsTotalCount;

    protected Boolean asyncTotalCount;

    public PageBounds(){
        containsTotalCount = false;
    }

    public PageBounds(RowBounds rowBounds) {
        if(rowBounds instanceof PageBounds){
            PageBounds pageBounds = (PageBounds)rowBounds;
            this.page = pageBounds.page;
            this.limit = pageBounds.limit;
            this.orders = pageBounds.orders;
            this.containsTotalCount = pageBounds.containsTotalCount;
            this.asyncTotalCount = pageBounds.asyncTotalCount;
        }else{
            this.page = (rowBounds.getOffset()/rowBounds.getLimit())+1;
            this.limit = rowBounds.getLimit();
        }

    }

    /**
     * Query TOP N, default containsTotalCount = false
     * @param limit
     */
    public PageBounds(int limit) {
        this.limit = limit;
        this.containsTotalCount = false;
    }

    public PageBounds(int page, int limit) {
        this(page, limit, new ArrayList<Order>(), true);
    }

    public PageBounds(int page, int limit, boolean containsTotalCount) {
        this(page, limit, new ArrayList<Order>(), containsTotalCount);
    }

    /**
     * Just sorting, default containsTotalCount = false
     * @param orders
     */
    public PageBounds(List<Order> orders) {
        this(NO_PAGE, NO_ROW_LIMIT,orders ,false);
    }

    /**
     * Just sorting, default containsTotalCount = false
     * @param order
     */
    public PageBounds(Order... order) {
        this(NO_PAGE, NO_ROW_LIMIT,order);
        this.containsTotalCount = false;
    }

    public PageBounds(int page, int limit, Order... order) {
        this(page, limit, Arrays.asList(order), true);
    }

    public PageBounds(int page, int limit, List<Order> orders) {
        this(page, limit, orders, true);
    }

    public PageBounds(int page, int limit, List<Order> orders, boolean containsTotalCount) {
        this.page = page;
        this.limit = limit;
        this.orders = orders;
        this.containsTotalCount = containsTotalCount;
    }

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }

    public int getLimit() {
        return limit;
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }

    public boolean isContainsTotalCount() {
        return containsTotalCount;
    }

    public void setContainsTotalCount(boolean containsTotalCount) {
        this.containsTotalCount = containsTotalCount;
    }

    public List<Order> getOrders() {
        return orders;
    }

    public void setOrders(List<Order> orders) {
        this.orders = orders;
    }

    public Boolean getAsyncTotalCount() {
        return asyncTotalCount;
    }

    public void setAsyncTotalCount(Boolean asyncTotalCount) {
        this.asyncTotalCount = asyncTotalCount;
    }

    @Override
    public int getOffset() {
        if(page >= 1){
            return (page-1) * limit;
        }
        return 0;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("PageBounds{");
        sb.append("page=").append(page);
        sb.append(", limit=").append(limit);
        sb.append(", orders=").append(orders);
        sb.append(", containsTotalCount=").append(containsTotalCount);
        sb.append(", asyncTotalCount=").append(asyncTotalCount);
        sb.append('}');
        return sb.toString();
    }
}


In a bid to overcome the demonetisation woes, Kerala-based develoer Asset Homes has decided to build 100 sq ft self-contained units christened `selfie' apartments across the country. Costing under Rs 10 lakh, these air-conditioned apartments are being proposed at Kochi, Bengaluru, Hyderabad, Pune and Visakhapatnam.
After lagging in constructing homes under Mukhyamantri Gramin BPL Awas Yojana, the rural development department has now relaxed norms to allow third parties to execute work on request from beneficiaries. As per the provision, the owners of sanctioned units had the first right to construct their homes as daily wage labourers up to a period of 90 days. The payment to them was also linked with Mahatma Gandhi National Rural Employment Guarantee Act (MGNREGA) funds.
Godrej Properties is actively looking at tapping the complete Delhi-NCR market with new residential projects in Delhi, Faridabad and Ghaziabad soon, said a top company executive. The projects could be in the form of plotted development, group housing or villa development.
Xander Finance, the non-banking financial arm of an alternative investment firm of The Xander Group, has invested nearly Rs 300 crore in two residential projects in Chennai and the National Capital Region. The NBFC has invested over Rs 120 crore in a plotted development project of realty developer VGN Property Developers in Ambattur project, while it invested over Rs 160 crore in Ansal API's low-rise residential project in Sector 67, Gurgaon.


Light spectrum of 700 - 2000nm.
Control of skin impedance: on-line.
Moreover, the measure draining lymph, and extracts an area for the operation of the two energies: Infrared and bipolar current frequency (RF) - ELOS technology.
With the power of the suction roller is obtained precisely extracted piece of skin and fat which is subjected to intensive therapy. The effect of heat increases metabolism and consequently reduces the volume of fat cells gathering.
Unbelievable price on The device for vacuum massage VELA SMOOTH in Leszno (Poland) company Praiston, PPHU.


Society is in the grip of a stress epidemic. Stress is the single biggest cause of illness. Anxiety and Depression are the two biggest mental health conditions. Growing numbers of people are experiencing overwhelm and burnout.
HeartMath is a unique and powerful system of stress management, resilience building and high-performance techniques, tools and innovative biofeedback technologies. The system is easy to learn, practice and teach to others. And most importantly, it works! That's why it has been used by organisations such as NHS, NASA, ITV, Nuffield Health and Microsoft as well as by hundreds of thousands of individuals worldwide.
Three days in-depth classroom-based training in the HeartMath System.
Four hours of one to one coaching.
A 20% discount on all HeartMath products.
A profile within the HeartMath Certified Coaches directory.
Ongoing support and development within our annual CPD programme*.
We usually have between 9-12 people on each Coach Certification programme and the group is always very diverse – and a lot of fun!
In the month following the training you will receive three more one hour online coaching sessions. The purpose of these sessions is so that you personally experience receiving the type of coaching you will be delivering and to give you an opportunity to discus and clarify any questions that may be outstanding after your training.
At the end of the journey you will be an officially certified HeartMath Coach!
The cost of the programme is £1,799/€2049.00 (inc VAT) and includes Inner Balance™ and emWave Pro HRV biofeedback devices worth £434. Lunch and refreshments are included. Accommodation is not included.
Interest free payment options are available.


Gatesafe®, finger protection for gates.
Gatesafe is a safety product designed by fingersafe for protecting fingers/arms from gates whether they are automated gates or standard gates.
Gatesafe is a safety product designed by fingersafe for protecting fingers/arms from gates whether they are automated gates or standard gates. Gatesafe can be fitted to both hinge sides of a gate. They are supplied in 2 metre lengths, however they can be cut to size and are easily installed. Gatesafe is currently only available in black with an aluminium trim. The fixing screws are covered by a plastic trim to make it more aesthetically pleasing.
Thank you for the quick delivery and customer service.


text:
Laicite On The March?
December 22, 2009 19:17 GMT
A young Muslim girl in traditional Islamic dress sports French flags and a headband that reads "Fraternity" (file photo)
Hot on the heels of Switzerland's baffling minaret ban, French President Nicolas Sarkozy's party is taking aim at the niqab and burqa, according to Reuters:
PARIS (Reuters) -- France's ruling UMP party plans to present a bill to parliament in January on banning full Islamic veils in all public places and not just in certain buildings, a senior party official have said.
The bill would be accompanied by a resolution related to respect for women, Jean-Francois Cope, the parliamentary party leader of President Nicolas Sarkozy's UMP, told a news conference.
-- Andy Heil
Written by RFE/RL editors and correspondents, Transmission serves up news, comment, and the odd silly dictator story. While our primary concern is with foreign policy, Transmission is also a place for the ideas -- some serious, some irreverent -- that bubble up from our bureaus. The name recognizes RFE/RL's role as a surrogate broadcaster to places without free media. You can write us at transmission+rferl.org


Get your little ones tidying up in no time with this Disney Princess Toy Box. This strong..
Lilly & LollyDelivery Time: 6-8 weeksBoys will love to pack away their favourite things in this ..
Oeuf Nursery FurnitureDelivery, Pick up Time: Out of stockThe Toy Store is an innovative storage sys..
The Toy Store is an innovative storage system with three tiers of storage bins, ideal for books and ..


text:
products by Tihar inmates
Diwali gifts, greetings from Tihar Jail a hit
The response from the market is so overwhelming that authorities feel this time they will earn over Rs 1 crore during the festive season.
Updated : November 12, 2012, 12:06 pm
Updated : November 8, 2012, 12:15 pm
Tihar jail food items now in NCR departmental stores
The food items, which were earlier available only at Tihar and in certain courts of Delhi under the name TJ's, can now be obtained in some parts of Delhi and NCR following a tie-up with Reliance Fresh.
Guruji, Heal Thyself
Updated : March 24, 2012, 11:56 am
Tihar Jail records a turnover of Rs.15.25 crore in 2011
The products, increasingly sought after across the city, go under the brand name TJ.
India Today other newsmakers 2011: Sachin Tendulkar, Vijay Mallya, O P Saini and Tihar Jail
It was Anna Hazare's year but a much-loved cricketer, a flamboyant showman, an unyielding judge and a concrete sprawl housing VIP inmates almost beat him in the art of soaking up the spotlight.
Diwali firecrackers go green
The festival of lights - Diwali - is, of late, witnessing an increasing number of environmentally-conscious people in the metros opting for eco-friendly and smokeless firecrackers.
Diwali 2011- Grab gift packs made by Tihar inmates
Tihar, one of the largest prison complexes in South Asia housing almost 11,000 prisoners, has made various gift packs for Diwali including coloured candles, earthen lamps besides eatables.
'Tihar's impoverished convicts find prison far more civilised than freedom'
Tihar is a stigma upon India, not because of recent high-profile guests, but because of its stream of regular inmates: 92 per cent are from below the poverty line. More than 40 per cent are totally illiterate. The majority of those between 18 and 21 arrive without a single possession, even a set of clothes.
Kanimozhi learning candle making at Tihar jail
Candle making is one of the vocational courses introduced by Tihar authorities to keep inmates connected to the outside world through competition and skill enhancement.
2G, CWG fiasco: Tihar jail turns home for rich convicts
Some of the rich and famous, once summertime regulars in the south of France, now sweat it out in cramped cells of the country's largest prison.
Jon's designs for Tihar Jail
Designer Sanjana Jon to help prisoners by holding an exhibition.
Updated : February 10, 2010, 9:00 am
Tihar Jail's brand TJ to be sold at exclusive showrooms
"TJ" is the brand for the products made by the inmates of India's largest prison Tihar Jail. It is all set to become a national brand, selling daily use goods such as soaps and snacks and even furniture at exclusive showrooms.


text:
Space-available care at LRMC explained
Courtesy of Landstuhl Regional Medical Center Public Affairs
Space-available health care is available at Landstuhl Regional Medical Center in certain clinics, but the number of available appointments can vary widely according to variables such as hospital staffing, Army transformation and support for its wartime mission. To help explain the Space-A policy and how it works, Capt. Rob Davis, chief of clinical operations, offers the following information.
Q: What is the policy for space-available care at LRMC?
A: According to Department of Defense and TRICARE policy, hospital commanders may offer medical care to people who are not TRICARE-eligible (e.g. general schedule federal employees, Army and Air Force Exchange Service and Department of Defense Dependents Schools civilian employees) as provider and clinical availability allow and on a fully reimbursable basis. Military treatment facilities overseas cannot guarantee the availability of space-available appointments.
Q: Approximately how many space-available appointments are available at LRMC on a typical day, week or month?
A: The number of appointments depends on the clinic, the service provided and the number of appointments available. You can call 590-LRMC (5762) or 06371-9464-LRMC (5762) to find out if a specific clinic is currently offering space-available appointments.
Q: Why does it seem there are often so few appointments available? What are the limiting factors that prevent LRMC from seeing more?
A: LRMC is the only DOD medical center in Europe offering primary care and specialty services, and we offer that care to more than 42,000 TRICARE enrolled beneficiaries. The clinics are staffed and funded to meet the needs of these enrolled beneficiaries, which is why there is a limited number of space-available appointments.
LRMC and other military treatment facilities provide health care to its beneficiaries according to the following basic priorities:
Priority 1: Active-duty service members
Priority 2: Active-duty family members who are enrolled in TRICARE Prime
Priority 3: Retirees and their family members who are enrolled in TRICARE Plus
Priority 4: Active-duty family members who are not enrolled in TRICARE Prime (i.e. TRICARE Standard)
Priority 5: All other TRICARE eligible persons
Priority 6: Non-TRICARE eligible persons (e.g. general schedule federal employees, AAFES and DODDS civilian employees)
Q: With the ongoing transformation and reduction of forces in Europe, do you anticipate increasing or reducing the possibility of space-available appointments?
A: LRMC anticipates fewer space-available appointments because of population changes in Europe secondary to Army transformation. It is not recommended to rely on space-available appointments for your ongoing health care needs.
Q: What is the correct procedure for trying to be seen space-available?
A: Patients should call the local appointment line (06371-9464-5762) to try and book an appointment. Landstuhl is currently not offering primary care space-available appointments, but the clinic in their area may be offering space-available primary care appointments.
Q: What if I need a referral to a specialty clinic at LRMC that sees space-available patients, but I cannot get an appointment in Primary Care to initiate the referral?
A: Contact the LRMC Referral Management Center at usarmy.landstuhl.medcom-ermc.list.lrmc-referral-management@mail.mil or call the LRMC TRICARE Service Center at 590-4830 or 06371-9464-4830 and ask for Referral Management.
Q: If I am able to be seen Space-A and my doctor said I needed a follow-up appointment, would that be included as part of my original visit or would I need to book that appointment as well through Space-A?
A: It is up to the clinic to determine whether or not a follow-up appointment would be included as part of your original visit. It is important to remember that a follow-up appointment is not guaranteed, and many primary care clinics that are currently seeing Space-A are not providing follow-up appointments. You are only entitled to that original appointment.
Q: What options are available when Space-A isn't available?
A: If an appointment isn't available at a military treatment facility, beneficiaries can use a host nation provider on the local economy. Your local TRICARE service center can provide a listing of local host nation providers. A list of local host nation providers is available at www.tricare-overseas.com/ProviderSearch/SearchContent.aspx. For example, a recent search on that site offered five pediatric clinics in the Baumholder area and six internal medicine choices for Schweinfurt.
In Germany, providers usually ask for up-front payment before providing health care. Medical costs are reimbursable through the patient's health insurance provider. U.S. civilian personnel are required by the government to have health insurance coverage when they arrive in Europe.
More information is available from the U.S. Army Civilian Human Resources Agency-Europe Region website under the "Living and Working Overseas" link at https://cpolrhp.belvoir.army.mil/eur/overseas/employee_handbook/living/medical_care.htm.
Q: What are the advantages of being seen by a doctor on the local economy?
A: Establishing care with a primary care manager on the economy ensures the non-TRICARE eligible patient primary care access and continuity of care for them and their family while living in the KMC. Patients can contact the local TRICARE service center for assistance in locating an English speaking provider on the economy.
Q: I don't speak German. How would I go about booking an appointment?
A: A comprehensive "Your Guide to Host Nation Health Care" is available for each Army military community. The guide provides practical information such as maps to host nation facilities, driving directions and specific information about each facility. The guide can be found on the LRMC public website homepage at http://ermc.amedd.army.mil/landstuhl/index.cfm.
TRICARE beneficiaries can receive assistance in scheduling appointments with a host nation provider through the managed care support contractor, international SOS at www.tricare-overseas.com/ProviderSearch/SearchContent.aspx, or in some instances, from your servicing TRICARE service center. For non-TRICARE beneficiaries, contact the servicing insurance company for assistance with benefits, scheduling and/or claims.
You can receive assistance during your inpatient stay at a facility on the local economy by contacting a host nation patient liaisons at your local TRICARE service center who:
» assists U.S. beneficiaries hospitalized in host nation medical facilities.
» helps plan your transfer from a military treatment facility to a host nation medical facility, or from a host nation facility to a military treatment facility.
» eases language barriers between the patient and host nation providers.
» talks to your host nation physician to get up-to-date information on your medical condition and treatment plan.
» answers questions about treatment, environment of care and follow-up care to the best of their knowledge or when doctors are unavailable.
» assesses and interprets patient concerns to determine specific assistance needs.
» assists with the discharge of a patient from a host nation hospital.
Tags: Space-A × TRICARE


text:
//-----------------------------------------------------------------------
// <copyright file="ActorSelection.cs" company="Akka.NET Project">
//     Copyright (C) 2009-2016 Lightbend Inc. <http://www.lightbend.com>
//     Copyright (C) 2013-2016 Akka.NET project <https://github.com/akkadotnet/akka.net>
// </copyright>
//-----------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Akka.Util;
using Akka.Util.Internal;
using Akka.Util.Internal.Collections;

namespace Akka.Actor
{
    /// <summary>
    /// This class represents a logical view of a section of an <see cref="ActorSystem">ActorSystem's</see>
    /// tree of actors that allows for broadcasting of messages to that section.
    /// </summary>
    public class ActorSelection : ICanTell
    {
        /// <summary>
        /// Gets the anchor.
        /// </summary>
        public IActorRef Anchor { get; private set; }

        /// <summary>
        /// Gets the elements.
        /// </summary>
        public SelectionPathElement[] Path { get; private set; }

        /// <summary>
        /// A string representation of all of the elements in the <see cref="ActorSelection"/> path,
        /// starting with "/" and separated with "/".
        /// </summary>
        public string PathString => "/" + string.Join("/", Path.Select(x => x.ToString()));

        /// <summary>
        /// Initializes a new instance of the <see cref="ActorSelection" /> class.
        /// </summary>
        public ActorSelection()
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="ActorSelection" /> class.
        /// </summary>
        /// <param name="anchor">The anchor.</param>
        /// <param name="path">The path.</param>
        public ActorSelection(IActorRef anchor, SelectionPathElement[] path)
        {
            Anchor = anchor;
            Path = path;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="ActorSelection" /> class.
        /// </summary>
        /// <param name="anchor">The anchor.</param>
        /// <param name="path">The path.</param>
        public ActorSelection(IActorRef anchor, string path)
            : this(anchor, path == "" ? new string[] {} : path.Split('/'))
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="ActorSelection" /> class.
        /// </summary>
        /// <param name="anchor">The anchor.</param>
        /// <param name="elements">The elements.</param>
        public ActorSelection(IActorRef anchor, IEnumerable<string> elements)
        {
            Anchor = anchor;

            Path = elements
                .Where(s => !string.IsNullOrWhiteSpace(s))
                .Select<string, SelectionPathElement>(e =>
                {
                    if (e.Contains("?") || e.Contains("*"))
                        return new SelectChildPattern(e);
                    if (e == "..")
                        return new SelectParent();
                    return new SelectChildName(e);
                })
                .ToArray();
        }

        /// <summary>
        /// Sends a message to this ActorSelection.
        /// </summary>
        /// <param name="message">The message to send</param>
        /// <param name="sender">The actor that sent the message</param>
        public void Tell(object message, IActorRef sender = null)
        {
            if (sender == null && ActorCell.Current != null && ActorCell.Current.Self != null)
                sender = ActorCell.Current.Self;

            DeliverSelection(Anchor as IInternalActorRef, sender,
                new ActorSelectionMessage(message, Path, wildCardFanOut: false));
        }

        /// <summary>
        /// Resolves the <see cref="IActorRef"/> matching this selection.
        /// The result is returned as a Task that is completed with the <see cref="IActorRef"/>
        /// if such an actor exists. It is completed with failure <see cref="ActorNotFoundException"/> if
        /// no such actor exists or the identification didn't complete within the supplied <paramref name="timeout"/>.
        ///
        /// Under the hood it talks to the actor to verify its existence and acquire its <see cref="IActorRef"/>
        /// </summary>
        /// <param name="timeout">
        /// The amount of time to wait while resolving the selection before terminating the operation and generating an error.
        /// </param>
        /// <exception cref="ActorNotFoundException">
        /// This exception is thrown if no such actor exists or the identification didn't complete within the supplied <paramref name="timeout"/>.
        /// </exception>
        /// <returns>A Task that will be completed with the <see cref="IActorRef"/>, if the actor was found. Otherwise it will be failed with an <see cref="ActorNotFoundException"/>.</returns>
        public Task<IActorRef> ResolveOne(TimeSpan timeout) => InnerResolveOne(timeout, CancellationToken.None);

        /// <summary>
        /// Resolves the <see cref="IActorRef"/> matching this selection.
        /// The result is returned as a Task that is completed with the <see cref="IActorRef"/>
        /// if such an actor exists. It is completed with failure <see cref="ActorNotFoundException"/> if
        /// no such actor exists or the identification didn't complete within the supplied <paramref name="timeout"/>.
        ///
        /// Under the hood it talks to the actor to verify its existence and acquire its <see cref="IActorRef"/>
        /// </summary>
        /// <param name="timeout">
        /// The amount of time to wait while resolving the selection before terminating the operation and generating an error.
        /// </param>
        /// <param name="ct">
        /// The cancellation token that can be used to cancel the operation.
        /// </param>
        /// <exception cref="ActorNotFoundException">
        /// This exception is thrown if no such actor exists or the identification didn't complete within the supplied <paramref name="timeout"/>.
        /// </exception>
        /// <returns>A Task that will be completed with the <see cref="IActorRef"/>, if the actor was found. Otherwise it will be failed with an <see cref="ActorNotFoundException"/>.</returns>
        public Task<IActorRef> ResolveOne(TimeSpan timeout, CancellationToken ct) => InnerResolveOne(timeout, ct);

        private async Task<IActorRef> InnerResolveOne(TimeSpan timeout, CancellationToken ct)
        {
            try
            {
                var identity = await this.Ask<ActorIdentity>(new Identify(null), timeout, ct).ConfigureAwait(false);
                if(identity.Subject == null)
                    throw new ActorNotFoundException("subject was null");

                return identity.Subject;
            }
            catch(Exception ex)
            {
                throw new ActorNotFoundException("Exception occurred while resolving ActorSelection", ex);
            }
        }

        /// <summary>
        /// INTERNAL API
        /// Convenience method used by remoting when receiving <see cref="ActorSelectionMessage" /> from a remote
        /// actor.
        /// </summary>
        /// <param name="anchor">TBD</param>
        /// <param name="sender">TBD</param>
        /// <param name="sel">TBD</param>
        internal static void DeliverSelection(IInternalActorRef anchor, IActorRef sender, ActorSelectionMessage sel)
        {
            if (sel.Elements.IsNullOrEmpty())
            {
                anchor.Tell(sel.Message, sender);
            }
            else
            {
                var iter = sel.Elements.Iterator();

                void Rec(IInternalActorRef actorRef)
                {
                    if (actorRef is ActorRefWithCell refWithCell)
                    {
                        var emptyRef = new EmptyLocalActorRef(
                            provider: refWithCell.Provider,
                            path: anchor.Path / sel.Elements.Select(el => el.ToString()),
                            eventStream: refWithCell.Underlying.System.EventStream);

                        switch(iter.Next())
                        {
                            case SelectParent _:
                                var parent = actorRef.Parent;

                                if (iter.IsEmpty())
                                    parent.Tell(sel.Message, sender);
                                else
                                    Rec(parent);

                                break;
                            case SelectChildName name:
                                var child = refWithCell.GetSingleChild(name.Name);

                                if (child is Nobody)
                                {
                                    // don't send to emptyRef after wildcard fan-out
                                    if (!sel.WildCardFanOut)
                                        emptyRef.Tell(sel, sender);
                                }
                                else if (iter.IsEmpty())
                                {
                                    child.Tell(sel.Message, sender);
                                }
                                else
                                {
                                    Rec(child);
                                }

                                break;
                            case SelectChildPattern pattern:
                                // fan-out when there is a wildcard
                                var matchingChildren = refWithCell.Children
                                    .Where(c => c.Path.Name.Like(pattern.PatternStr))
                                    .ToList();

                                if (iter.IsEmpty())
                                {
                                    if (matchingChildren.Count == 0 && !sel.WildCardFanOut)
                                        emptyRef.Tell(sel, sender);
                                    else
                                    {
                                        for (var i = 0; i < matchingChildren.Count; i++)
                                            matchingChildren[i].Tell(sel.Message, sender);
                                    }
                                }
                                else
                                {
                                    // don't send to emptyRef after wildcard fan-out
                                    if (matchingChildren.Count == 0 && !sel.WildCardFanOut)
                                        emptyRef.Tell(sel, sender);
                                    else
                                    {
                                        var message = new ActorSelectionMessage(
                                            message: sel.Message,
                                            elements: iter.ToVector().ToArray(),
                                            wildCardFanOut: sel.WildCardFanOut || matchingChildren.Count > 1);

                                        for(var i = 0; i < matchingChildren.Count; i++)
                                            DeliverSelection(matchingChildren[i] as IInternalActorRef, sender, message);
                                    }
                                }
                                break;
                        }
                    }
                    else
                    {
                        // foreign ref, continue by sending ActorSelectionMessage to it with remaining elements
                        actorRef.Tell(new ActorSelectionMessage(sel.Message, iter.ToVector().ToArray()), sender);
                    }
                }

                Rec(anchor);
            }
        }

        /// <inheritdoc/>
        public override bool Equals(object obj)
        {
            if (ReferenceEquals(null, obj)) return false;
            if (ReferenceEquals(this, obj)) return true;
            if (obj.GetType() != GetType()) return false;
            return Equals((ActorSelection)obj);
        }

        /// <inheritdoc/>
        protected bool Equals(ActorSelection other)
        {
            return Equals(Anchor, other.Anchor) && Equals(PathString, other.PathString);
        }

        /// <inheritdoc/>
        public override int GetHashCode()
        {
            unchecked
            {
                return ((Anchor?.GetHashCode() ?? 0) * 397) ^ (PathString?.GetHashCode() ?? 0);
            }
        }

        /// <inheritdoc/>
        public override string ToString()
        {
            var builder = new StringBuilder();
            builder.Append($"ActorSelection[Anchor({Anchor.Path}");
            if (Anchor.Path.Uid != ActorCell.UndefinedUid)
                builder.Append($"#{Anchor.Path.Uid}");
            builder.Append($"), Path({PathString})]");
            return builder.ToString();
        }
    }

    /// <summary>
    /// Class ActorSelectionMessage.
    /// </summary>
    public class ActorSelectionMessage : IAutoReceivedMessage, IPossiblyHarmful
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="ActorSelectionMessage" /> class.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="elements">The elements.</param>
        /// <param name="wildCardFanOut">TBD</param>
        public ActorSelectionMessage(object message, SelectionPathElement[] elements, bool wildCardFanOut = false)
        {
            Message = message;
            Elements = elements;
            WildCardFanOut = wildCardFanOut;
        }

        /// <summary>
        /// The message that should be delivered to this ActorSelection.
        /// </summary>
        public object Message { get; }

        /// <summary>
        /// The elements, e.g. "foo/bar/baz".
        /// </summary>
        public SelectionPathElement[] Elements { get; }

        /// <summary>
        /// TBD
        /// </summary>
        public bool WildCardFanOut { get; }

        /// <inheritdoc/>
        public override string ToString()
        {
            var elements = string.Join<SelectionPathElement>("/", Elements);
            return $"ActorSelectionMessage - Message: {Message} - WildCartFanOut: {WildCardFanOut} - Elements: {elements}";
        }
    }

    /// <summary>
    /// Class SelectionPathElement.
    /// </summary>
    public abstract class SelectionPathElement
    {
    }

    /// <summary>
    /// Class SelectChildName.
    /// </summary>
    public class SelectChildName : SelectionPathElement
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="SelectChildName" /> class.
        /// </summary>
        /// <param name="name">The name.</param>
        public SelectChildName(string name)
        {
            Name = name;
        }

        /// <summary>
        /// Gets the actor name.
        /// </summary>
        public string Name { get; }

        /// <inheritdoc/>
        protected bool Equals(SelectChildName other)
        {
            return string.Equals(Name, other.Name);
        }

        /// <inheritdoc/>
        public override bool Equals(object obj)
        {
            if (ReferenceEquals(null, obj)) return false;
            if (ReferenceEquals(this, obj)) return true;
            if (obj.GetType() != this.GetType()) return false;
            return Equals((SelectChildName)obj);
        }

        /// <inheritdoc/>
        public override int GetHashCode() => Name?.GetHashCode() ?? 0;

        /// <inheritdoc/>
        public override string ToString() => Name;
    }

    /// <summary>
    /// Class SelectChildPattern.
    /// </summary>
    public class SelectChildPattern : SelectionPathElement
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="SelectChildPattern" /> class.
        /// </summary>
        /// <param name="patternStr">The pattern string.</param>
        public SelectChildPattern(string patternStr)
        {
            PatternStr = patternStr;
        }

        /// <summary>
        /// Gets the pattern string.
        /// </summary>
        public string PatternStr { get; }

        /// <inheritdoc/>
        protected bool Equals(SelectChildPattern other) => string.Equals(PatternStr, other.PatternStr);

        /// <inheritdoc/>
        public override bool Equals(object obj)
        {
            if (ReferenceEquals(null, obj)) return false;
            if (ReferenceEquals(this, obj)) return true;
            if (obj.GetType() != this.GetType()) return false;
            return Equals((SelectChildPattern)obj);
        }

        /// <inheritdoc/>
        public override int GetHashCode() => PatternStr?.GetHashCode() ?? 0;

        /// <inheritdoc/>
        public override string ToString() => PatternStr;
    }

    /// <summary>
    /// Class SelectParent.
    /// </summary>
    public class SelectParent : SelectionPathElement
    {
        /// <inheritdoc/>
        public override bool Equals(object obj) => !ReferenceEquals(obj, null) && obj is SelectParent;

        /// <inheritdoc/>
        public override int GetHashCode() => nameof(SelectParent).GetHashCode();

        /// <inheritdoc/>
        public override string ToString() => "..";
    }
}